import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
/**
* MD5做摘要信息
* @author Administrator
*
*/
public class Md5Encryption {
//定义一个16进制字符数组
static char[] hexDigits={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
//MD5生成摘要信息
public static String md5(String content){
try {
//获取信息摘要对象
MessageDigest md5 = MessageDigest.getInstance("MD5");
//使用指定的 byte数组更新摘要
md5.update(content.getBytes());
//生成密文
byte[] hadEncription = md5.digest();
//定义一个字符数组用来装换后的16进制字符
//由于一个 byte是 8 位,一个16进制 数是由 4位的二进制数组成,一个byte拆成两个组成16进制数,所以长度要多两倍。
//所以建字符数组要长度要是字节数组的2倍长度
char[] hexCharacter = new char[hadEncription.length << 1];
int p = 0;
for (int i = 0; i < hadEncription.length; i++){
byte b = hadEncription[i];
//一个 byte拆成两个,组成16进制数
hexCharacter[p++] = hexDigits[b >>> 4 & 0xf];
hexCharacter[p++] = hexDigits[b & 0xf];
}
//转换成字符串返回
return new String(hexCharacter);
} catch (NoSuchAlgorithmException e) {
}
return null;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(md5("1122"));
}
}
MD5加密做摘要信息
最新推荐文章于 2023-07-20 13:02:27 发布