Cómo calcular el hash MD5 de un string en Java
¡Hola a todos! Acabo de empezar a aprender Java y me encontré con una tarea: necesito calcular el hash MD5 de un string para verificar la integridad de un archivo. Revisé un montón de foros, pero todos los ejemplos están desactualizados o son demasiado complejos para un principiante.
Intenté escribir el código yo mismo, pero no funciona. Esto es lo que tengo:
```java
public class MD5Example {
public static void main(String[] args) {
String input = "Hello, world!";
String hash = input.hashCode(); // así no se puede, lo sé
System.out.println("MD5: " + hash);
}
}
```
Entiendo que `hashCode()` no es MD5, sino solo un hash interno de Java. Pero, ¿cómo se hace correctamente? He oído hablar de `MessageDigest`, pero no entiendo cómo usarlo. ¿Necesito importar alguna librería? ¿O puedo usar solo las herramientas estándar?
Otra pregunta: ¿el hash MD5 siempre tiene 32 caracteres en hexadecimal? ¿Y cómo comparo dos hashes para asegurarme de que los strings son iguales? Agradecería un ejemplo simple y claro con explicaciones.