刚刚学习了MD5加密觉得还挺有意思的,再次感觉到编程之美。
public class MD5Utils {
/**
* MD5加密方法
* @param password 明文
* @return 密文
*/
public static String ecoder(String password) {
// md5 加密
try {
// 1.信息摘要器
MessageDigest digest = MessageDigest.getInstance("MD5");
// 2.变成byte数组
byte[] data = digest.digest(password.getBytes());
StringBuffer buff = new StringBuffer();
// 3.与每一个byte个8个二进制位做与运算
for(byte index : data) {
int number = index & 0xff;
//int number = index & 0xfff 加盐
// 4.把int类型转换成十六进制
String hexString = Integer.toHexString(number);
// 5.不足位的补全
if(hexString.length() == 1){
buff.append("0");
}
buff.append(hexString);
}
return buff.toString();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
return "";
}
}
}