写个工具把不同文件夹下的文件拷贝到一个文件夹下去,碰到格问题,需要考虑到生成唯一文件名,想来想去还是使用MD5计算吧
import java.security.MessageDigest;
/**
*
* @author apple
*/
public class xMD5 {
public final static String MD5(String s) {
char hexDigits[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
'A', 'B', 'C', 'D', 'E', 'F'};
try {
byte[] strTemp = s.getBytes();
//使用MD5创建MessageDigest对象
MessageDigest mdTemp = MessageDigest.getInstance("MD5");
mdTemp.update(strTemp);
byte[] md = mdTemp.digest();
int j = md.length;
char str[] = new char[j * 2];
int k = 0;
for (int i = 0; i < j; i++) {
byte b = md[i];
//将没个数(int)b进行双字节加密
str[k++] = hexDigits[b >> 4 & 0xf];
str[k++] = hexDigits[b & 0xf];
}
return new String(str);
} catch (Exception e) {
return null;
}
}
}
分享到:
相关推荐
标题《分享JavaScript与Java中MD5使用两个例子》中的知识点涉及了如何在JavaScript和Java语言中使用MD5加密算法,以及如何将字符串转换为MD5格式。MD5是一种广泛使用的密码散列函数,它可以产生一个128位的散列值...
MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,主要应用于信息安全领域,用于对数据进行摘要处理,生成一个固定长度的哈希值。这个哈希值可以看作是原始数据的一种指纹,通常用于验证数据的完整性和...
此为MD5的加密所需要的jar文件 MD5加密只需要此jar包 和如下代码将可获得加密结果,希望大家用的开心 //导入此import import cryptix.jce.provider.MD5; //MD5加密签名 String password ="1234567"; MD5 md5 = ...
MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,主要设计用于加密和数据完整性验证。MD5由美国密码学家Rivest在1991年开发,它将任意长度的数据转换为固定长度的128位(16字节)摘要,通常以32个十六...
在实际编程中,MD5函数的使用通常是简单的。用户只需要提供待处理的数据,函数会返回对应的MD5摘要。例如,在C++中,可以有一个如下的函数原型: ```cpp std::string calculateMD5(const std::string& data); ``` ...
MD5,全称为Message-Digest Algorithm 5,是一种广泛使用的哈希函数,设计者是Ronald Rivest。它能够将任意长度的数据转化为一个固定长度的摘要,通常为128位,以32位十六进制数的形式表示。在IT行业中,MD5主要用于...
MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,由计算机科学家Ronald Rivest在1991年设计。它将任意长度的数据转化为一个固定长度的128位(16字节)的摘要,通常用32个十六进制数字表示。在IT领域,...
Spark-md5是一个用JavaScript编写的快速、高效的md5库。它根据MD5算法,将输入的任意长度的明文,经过一系列的操作,转换成一个128位(16字节)的密文。 Spark-md5实现了在浏览器中对文件进行哈希计算,并且在上传...
2. **初始值设定**:MD5使用四个32位的变量A、B、C和D作为初始值,这些值是固定的。 3. **分块处理**:将填充后的数据分为多个512位的块进行处理。每个块通过一系列的变换,包括左移位、异或和加法操作,影响到A、B...
在初始化阶段,MD5使用一组预定义的常数值填充内部状态。接着,在字节选择步骤,输入数据被分成512位的块,并进行一系列复杂的运算,包括位移、异或和非线性函数。这个过程会在四个不同的32位寄存器中进行,每个步骤...
3. **MD5的内部状态**:MD5使用四个32位的变量A、B、C和D来保存中间计算结果,这四个变量在算法过程中不断更新。 4. **填充与初始化向量**:在计算之前,原始消息需要进行填充,使其长度对512的倍数,并且加上一个...
2. **初始值设定**:MD5使用四个32位的变量A、B、C和D,它们的初始值是固定的。 3. **消息块迭代**:将填充后的数据分割成512位的块,对每个块进行一系列的循环操作。每个循环包括16次不同的操作,每个操作都会根据...
在初始化阶段,MD5使用一组预定义的常量初始化四个32位的变量,称为A、B、C和D。接着,它将输入数据分为多个512位的数据块进行处理。每个数据块会被进一步分为16个32位的子块,然后通过一系列的循环操作,包括左移、...
标题中的"pb9 md5 nvo_md5"可能是指一个涉及PB9(可能是某种编程语言或框架的版本)和MD5哈希值的项目或工具,其中...通过深入研究这些文件和代码,可以更全面地理解这个PB9项目中的MD5使用方式以及相关的编程实践。
MD5(Message-Digest Algorithm 5)是一种广泛应用...通过`MD5使用DEMO`这个压缩包中的示例代码,你可以更深入地了解MD5加密在Delphi中的具体实现和使用方式。记得在实际项目中,务必遵循最佳实践,确保数据的安全性。
在初始化阶段,MD5使用一组固定的初始值填充四个32位的寄存器。处理阶段,算法将输入数据分为64个块,每个块处理过程都包含16轮迭代。每一轮由四个子函数(F, G, H, I)和四个32位的中间变量进行操作。压缩阶段将...
1. **初始化**: MD5使用四个32位的变量A、B、C和D作为初始状态,并设置为特定的常数值。 2. **分块处理**: 输入的数据被分割成512位的块,每个块经过一系列的处理。每个块分为16个32位的子块。 3. **循环计算**: 对...
MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,它能够将任意长度的输入数据转换为固定长度的128位(16字节)摘要。在C++中实现MD5,通常需要引入专门的库或者自定义算法。下面我们将详细探讨MD5的...
初始化阶段,MD5使用一组固定的初始值填充四个32位的中间变量A、B、C和D。接着,对输入的数据进行分块处理,每个块是512位,分为16个32位的小块。在循环运算阶段,MD5通过一系列的迭代操作,包括替换、异或、左移等...
初始化阶段,MD5使用一组预定义的常量初始化四个128位的中间变量。分块处理阶段,数据被分割成512位的块,每个块经过一系列复杂的运算,包括位操作、加法和圆桌旋转,更新这四个中间变量。消息扩展是在不足512位的...