之前找过一些版本,发现有一些使用场景下,md5sum会少一个字符,这对于一个已发布出去的版本是有一定的硬伤的。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
public static String md5sum(String str) {
MessageDigest mdEncoder;
try {
mdEncoder = MessageDigest.getInstance("MD5");
mdEncoder.update(str.getBytes(Charset.forName("US-ASCII")), 0, str.length());
StringBuilder hexString = new StringBuilder();
for (byte b : mdEncoder.digest()) {
hexString.append(String.format("%02x", b&0xff));
}
return hexString.toString();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return null;
}
|