Я написал следующую функцию для вычисления контрольной суммы Md5 в Java.
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 возвращает детерминированную и уникальную контрольную сумму для строки. Это неправильно? В противном случае, пожалуйста, дайте мне знать об ошибке в моей реализации. Спасибо
org.apache.commons.codec.digest.DigestUtils
имеет хорошую реализацию функции varios range md5*. - person user1516873   schedule 17.09.2012