在http://www.anyexample.com/programming/java/java_simple_class_to_compute_md5_hash.xml給出了一個如何計算String的MD5哈希的例子。這會產生一個20位數的十六進制字符串。根據http://en.wikipedia.org/wiki/MD5我期望一個32位十六進制字符串。例如,在How can I generate an MD5 hash?中使用dac2009響應的結果相同。Java計算MD5哈希
爲什麼我會得到一些看起來像MD5哈希但不是?我無法想象我得到的所有琴絃都必須用12個前導零填充。
編輯:一個代碼示例
public static String MungPass(String pass) throws NoSuchAlgorithmException {
MessageDigest m = MessageDigest.getInstance("MD5");
byte[] data = pass.getBytes();
m.update(data,0,data.length);
BigInteger i = new BigInteger(1,m.digest());
return String.format("%1$032X", i);
}
從http://snippets.dzone.com/posts/show/3686
您的第一個鏈接是404 – Paul
請發佈一個簡短的示例(完整)代碼來說明您遇到的問題。沒有這一點,我們不能告訴你你做錯了什麼:)在你鏈接到的StackOverflow問題中描述的方法是如何生成一個MD5散列,其確實是32個十六進制字符 –
第一個鏈接在這裏工作... – AndyAndroid