我正在尝试使用 java 中的 MessageDigest 生成 MD5 哈希码。请在下面找到示例代码。我正在尝试的字符串与一些代码(KO00001)和系统日期相结合。
String s = "KO00001"+"25/10/2012";
byte[] buffer = s.getBytes();
MessageDigest md5 = MessageDigest.getInstance("MD5");
md5.update(buffer);
String str = new BigInteger(1,md5.digest()).toString(16).toUpperCase();
System.out.println(str+" length:"+str.length());
对于像 KO0000126/10/2012、KO0000126/10/2012 这样的所有字符串,我将长度设为 32。但对于字符串“KO0000125/10/2012”,结果长度为 31。
可能是什么原因?