MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。下面小编准备了关于java MD5的加密源码,欢迎大家参考!
package util;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MD5Tool {
/**
* 该方法将指定的字符串用MD5算法加密后返回。
* @param s
* @return
*/
public static String getMD5Encoding(String s) {
byte[] input=s.getBytes();
String output = null;
// 声明16进制字母
char[] hexChar={‘0’,‘1’,‘2’,‘3’,‘4’,‘5’,‘6’,‘7’,‘8’,‘9’,‘a’,‘b’,‘c’,‘d’,‘e’,‘f’};
try{
// 获得一个MD5摘要算法的对象
MessageDigest md=MessageDigest.getInstance(“MD5”);
md.update(input);
/*
MD5算法的结果是128位一个整数,在这里javaAPI已经把结果转换成字节数组了
*/
byte[] tmp = md.digest();//获得MD5的摘要结果
char[] str = new char[32];
byte b=0;
for(int i=0;i《16;i++){
b=tmp[i];
str[2*i] = hexChar[b》》》4 & 0xf];//取每一个字节的低四位换成16进制字母
str[2*i+1] = hexChar[b & 0xf];//取每一个字节的高四位换成16进制字母
}
output = new String(str);
}catch(NoSuchAlgorithmException e){
e.printStackTrace();
}
return output;
}
}