public static String createMD5(String src) throws NoSuchAlgorithmException, UnsupportedEncodingException {
String result="";
if(src!=null) {
MessageDigest md=MessageDigest.getInstance("MD5");
md.update(src.getBytes("UTF-8"));
byte messageDigest[] = md.digest();
StringBuffer hexString = new StringBuffer();
for (int i=0;i<messageDigest.length;i++) {
String hex = Integer.toHexString(0xFF & messageDigest[i]);
hexString.append(hex.length()<2 ? "0"+hex : hex);
}
result=hexString.toString().toUpperCase();
}
return result;
}
两个地方要注意的:
1.Integer.toHexString转换出来的字符串是没有前缀0的,所以需要补上。
2.有些应用程序只认大写,所以最后转换成大写。
本文介绍了一种使用Java实现的MD5加密算法。该方法首先通过MessageDigest获取MD5算法实例,然后对输入字符串进行UTF-8编码并更新到MD5摘要中。经过哈希计算后,将得到的字节数组转换为十六进制字符串,并确保每个字符都是大写的。
2796

被折叠的 条评论
为什么被折叠?



