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.有些应用程序只认大写,所以最后转换成大写。