Java вычисляет хэш MD5

В http://www.anyexample.com/programming/java/java_simple_class_to_compute_md5_hash.xml дается пример, как вычислить хеш MD5 строки. В результате получается 20-значная шестнадцатеричная строка. Согласно http://en.wikipedia.org/wiki/MD5 я ожидал бы 32-значную шестнадцатеричную строку. Я получаю тот же результат, например, используя ответ dac2009 в Как я могу сгенерировать хеш 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

12
задан Community 23 May 2017 в 10:31
поделиться