En http://www.anyexample.com/programming/java/java_simple_class_to_compute_md5_hash.xml se da un ejemplo de cómo calcular un hash MD5 de String. Esto da como resultado una cadena hexadecimal de 20 dígitos. De acuerdo con http://en.wikipedia.org/wiki/MD5 esperaría una cadena hexadecimal de 32 dígitos. Obtengo el mismo resultado, por ejemplo, usando la respuesta dac2009 en How can I generate an MD5 hash?.Java calcular hash MD5
¿Por qué obtengo algo que parece un hash MD5 pero no lo es? No me puedo imaginar que todas las cadenas que tengo que rellenar con 12 ceros a la izquierda.
Editar: un ejemplo de código
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);
}
Tomado de http://snippets.dzone.com/posts/show/3686
Su primer enlace es un 404 – Paul
Por favor, publique un código de ejemplo corto (completo) que demuestre el problema que está teniendo. Sin eso, no podemos decirte lo que estás haciendo mal :) El método descrito en la pregunta StackOverflow a la que te vinculas es cómo generar un hash MD5 que de hecho tiene 32 caracteres hexadecimales –
El primer enlace funciona aquí ... – AndyAndroid