Llevamos un tiempo hablando de las virtudes y defectos que presenta MD5
- MD5 para verificar integridad de un fichero
- Cómo desencriptar «claves» MD5
Ha llegado el momento de conocer cómo generar nuestros propios valores MD5 como medio de
- generar códigos que permitan asegurar la integridad de los ficheros que subimos a Internet
- encriptar cualquier texto rápidamente
El comando que utilizaremos en todos los casos es md5sum que se encuentra en el paquete coreutils
Asegurar la integridad de los ficheros
Para ello bastará con lanzar desde la terminal
md5sum /tmp/unFicheroCualquiera.jpg
para obtener el MD5 del fichero unFicheroCualquiera.jpg ubicado en el directorio /tmp
Se puede utilizar para generar el MD5 de una colección de ficheros; por ejemplo
md5sum /tmp/*.jpg
generará el MD5 de todos y cada uno de las imágenes jpg que se encuentren en el directorio /tmp
Si quieres anotar los resultados en un fichero en lugar de simplemente verlos en pantalla deberás utilizar el redireccionamiento (pipes)
md5sum /tmp/*.jpg > /tmp/md5_fotos.txt
Este ejemplo hace lo mismo que el anterior pero genera, en el directorio /tmp, el fichero md5_fotos.txt con las claves MD5 de cada una de las fotos (con extensión jpg) que existen en el directorio /tmp.
A modo de ejemplo incluyo la siguiente captura en la que se ven algunos de los ficheros junto con su código MD5
Encriptar textos rápidamente
Útil en casos como querer modificar la clave del administrador de un gestor de contenidos (CMS) que hemos olvidado
echo «hola a todo el mundo» | md5sum
Con la instrucción anterior se generará el MD5 correspondiente al texto «hola a todo el mundo»
Conclusión
Aunque no es excesivamente seguro, MD5 está especialmente indicado para asegurar que el contenido de determinado fichero no ha variado independientemente de la causa; no sólo para ficheros que subamos a Internet, en local podría ser útil por ejemplo para saber si ha cambiado el contenido del fichero /etc/passwd donde se almacenan todos los usuarios/claves del sistema.
Para ello bastaría con tener guardado en un lugar seguro el código hash de dicho fichero y compararlo periódicamente con el que produce el fichero actual: si no coinciden se ha producido un cambio que puede que debamos investigar.