Java calcule le hachage MD5

Dans http://www.anyexample.com/programming/java/java_simple_class_to_compute_md5_hash.xml un exemple est donné de la façon de calculer un hash MD5 de la Chaîne. Il en résulte un 20 chiffres chaîne hexadécimale. Selon http://en.wikipedia.org/wiki/MD5 je m'attends à 32 chiffres chaîne hexadécimale. J'obtiens le même résultat en utilisant par exemple dac2009 réponse dans Comment puis-je générer un hachage MD5?.

Pourquoi dois-je obtenir quelque chose qui ressemble à un hash MD5, mais n'est-ce pas? Je ne peux imaginer que toutes les chaînes que je reçois, je dois pad avec 12 zéros.

Edit: un exemple de code

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);
}

Prises de http://snippets.dzone.com/posts/show/3686

source d'informationauteur AndyAndroid