Md5 加密方式 對字符串進行加密
public class Md5Utils {
private static String EncoderByMd5(String str) {
try {
// 生成實現指定摘要算法的 MessageDigest 對象。
MessageDigest md = MessageDigest.getInstance("MD5");
// 先將字符串轉換成字節數組,然後使用字節數組更新摘要
md.update(str.getBytes());
// 通過執行諸如填充之類的最終操作完成哈希計算。
byte[] encryContext = md.digest();
int i;
StringBuffer buf = new StringBuffer("");
//
for (int offset = 0; offset < encryContext.length; offset++) {
i = encryContext[offset];
if (i < 0)
i += 256;
if (i < 16)
buf.append("0");
buf.append(Integer.toHexString(i)); //16進制的加密方式
}
return buf.toString();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
//兩次調用加密方法對字符串進行加密
//如果爲了防止被反編譯破解,可以對第一次的MD5加密碼進行截取,然後再加密截取的部分。
public static String getMd5Str(String str) {
return EncoderByMd5(EncoderByMd5(str));
}
}
注意:
1、
java.security.MessageDigest類用於爲應用程序提供信息摘要算法的功能,如 MD5 或 SHA 算法。
簡單點說就是用於生成散列碼。
信息摘要是安全的單向哈希函數,它接收任意大小的數據,輸出固定長度的哈希值。