PreguntasLinux

Versión Completa: [guia] Que es el MD5?
Actualmente estas viendo una versión simplificada de nuestro contenido. Para ver la versión completa en el formato correcto, dale click aquí
Comprobando la integridad de archivos con md5sum

Message-Digest 5 (MD5) es un algoritmo que se suele utilizar, entre otras cosas, para realizar la comprobación de la integridad de archivos binarios, siendo muy utilizado, por ejemplo, para la verificación de imágenes ISO o programas bajados de Internet.

El algoritmo de MD5 genera un digesto (número único) a partir del análisis y suma de los caracteres de una cadena binaria, que es llamado cheksum.

En linux existe una forma de comprobar - como así también generar - este número o cheksum: el comando md5sum

Pero concretamente, para que me sirve conocer el cheksum de un archivo?

Algunas de las razones pueden ser:

• Permite saber si alguien modifició el o los archivos desde que se sacó ese cheksum.
• Comprobar si un determinado archivo bajó correctamente.
• Comprobar que las imagenes ISO no tengan errores, antes de grabarlas a un CD.


Por ejemplo, vamos a suponer que bajamos las imagenes iso de los CD’s de Mandrake 10.0, y además un archivo con el checksum (mdk10.0_cds.md5). Vamos a verificar que la descarga fué correcta escribiendo lo siguiente en una consola:

md5sum -c mdk10.0_cds.md5

Si las imágenes iso son correctas, debería aparecernos la siguiente leyenda:

Mandrake10.0-cd1-inst.i586.iso: La suma coincide
Mandrake10.0-cd2-ext.i586.iso: La suma coincide
Mandrake10.0-cd3-supp.i586.iso: La suma coincide


En caso de que alguna de las imagénes esté corrupta, aparecera un mensaje que nos indica que la suma no coincide y algun otro tipo de información adicional. Por ej.:

Mandrake10.0-cd1-inst.i586.iso: La suma coincide
Mandrake10.0-cd2-ext.i586.iso: La suma no coincide
md5sum: ATENCIÓN: 1 de las 2 sumas de comprobación calculada(s) NO coincidieron
Mandrake10.0-cd3-supp.i586.iso: La suma coincide



Para ver el contenido del archivo mdk10.0_cds.md5 podemos hacer lo siguiente:

cat mdk10.0_cds.md5

para nuestro ejemplo, el comando cat nos devolvería lo siguiente:

cda56ed1c9e9ace3de44eba1c36069a7 Mandrake10.0-cd1-inst.i586.iso
6ede8c75fec92e10636b6c0bf5ee9860 Mandrake10.0-cd2-ext.i586.iso
0b4921ddb67425687a5e053ff288dcba Mandrake10.0-cd3-supp.i586.iso



Crear el cheksum de nuestros archivos

La forma de crear un archivo con el cheksum es similar a lo visto anteriormente.
La sintáxis es la siguiente:

md5sum archivos_a_calcular

Por default la salida del comando md5sum es por pantalla. Por ej., si hacemos:

md5sum /boot/vmlinuz

obtendremos por pantalla lo siguiente:

ca894dd6579df021d73cf1e473d03a54 /boot/vmlinuz


lo que tenemos que hacer es dirigir la salida standard (stdout) a un archivo, con el nombre y la extensión que querramos, es decir

md5sum /boot/vmlinuz > MiKernel.md5


Otro ejemplo:

Vamos a suponer que te vas de vacaciones y le dejas la computadora a tu hermano (mala idea!!), un joven aprendiz de hacker, y a la vuelta queres saber qué archivos estuvo modificando. Lo que vas a hacer es calcular el cheksum de los archivos del sistema:

md5sum /bin/* /sbin/* /usr/bin/* /usr/sbin/* /usr/X11R6/bin/* /etc/* > /root/sistema.md5

Esto genera el archivo sistema.md5 dentro del directorio /root de todos los archivos dentro de /bin, /sbin, /usr/bin, /usr/sbin, /usr/X11R6/bin, /etc

Cuando vuelvas de las vacaciones solo tenes que hacer

md5sum -c /root/sistema.md5

y verificar cuales archivos fueron modificados desde que te fuiste.


Por último:

* Existen versiones del md5sum para prácticamente todos los sistemas operativos.
* md5sum viene incluido dentro del paquete GNU Texutils

Para los que quieran saber mas de MD5:
rfc1321: The MD5 Message-Digest Algorithm


Espero que les sirva.
Saludos!!! 1-wink
URLs de Referencia