我已經編寫了以下函數來計算Java中的Md5校驗和。JAVA Md5返回非確定性結果
class Utils {
public static String md5Hash(String input) {
String result = "";
try {
System.out.println("Input=" + input);
final MessageDigest md = MessageDigest.getInstance("MD5");
md.reset();
md.update(input.getBytes());
result = md.digest().toString();
} catch (Exception ee) {
System.err.println("Error computing MD5 Hash");
}
return result;
}
};
調用Utils.md5Hash("abcde")
多次給出了不同的結果。我的理解是,md5爲字符串返回一個確定性和唯一的校驗和。那是錯的嗎?否則,請讓我知道我的實施中的錯誤。謝謝
重複http://stackoverflow.com/questions/415953/generate-md5-hash-in-java – Endy
不是一個真正的重複。我實現了這個功能,並希望得到錯誤的幫助。那個人要求從頭開始實施。 – workwise
@workwise所以你不需要從頭開始實施?在那種情況下,爲什麼你不使用apache庫通用摘要? 'org.apache.commons.codec.digest.DigestUtils'類具有很好的varios range md5 *函數的實現。 – user1516873