我想在java中使用MessageDigest生成MD5哈希碼。請在下面找到示例代碼。我正在嘗試的字符串與一些代碼(KO00001)和系統日期相結合。Java MessageDigest提供31位而不是32位
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.
可能是什麼原因?
這是什麼'BigInteger'計算? – 2012-10-25 09:10:46