Checksum MD5

El algoritmo MD5 es una función hash muy utilizada en Linux (aunque está siendo progresivamente sustituido por SHA), que tiene dos aplicaciones principales:

  • login en Linux: en Linux se utiliza el algoritmo MD5 para encriptar las claves de los usuarios y es el valor hash el que se almacena. En el login se aplica MD5 al password y si el valor hash obtenido coincide con el almacenado el usuario es autentificado.
  • descargas de archivos de Internet: el algoritmo MD5 se utiliza ampliamente en las descargas de archivos de Internet para asegurarse de que el archivo no se ha alterado, ya sea de manera intencionada (virus o troyanos introducidos en el software por un usuario malicioso) o por una descarga incompleta o corrupta.

Cómo se usa MD5 en Linux

En Linux disponemos del comando md5sum (paquete coreutils), el cual aplicado a un documento devuelve la suma MD5.

  • Comprobar la suma MD5 de un archivo: por ejemplo, supongamos que hemos bajado las imágenes ISO de 3 CDs de Debian 4.0, y además un archivo con el checksum, debian4.0_cds.md5, cuyo contenido es:
    cda56ed1c9e9ace3de44eba1c36069a7     Debian4.0-cd1.i486.iso
    6ede8c75fec92e10636b6c0bf5ee9860     Debian4.0-cd2.i486.iso
    0b4921ddb67425687a5e053ff288dcba     Debian4.0-cd3.i486.iso

    Verificaremos que la descarga ha sido correcta ejecutando:

    $ md5sum -c debian4.0_cds.md5

    Si las imágenes ISO son correctas, obtendremos:

    Debian4.0-cd1.i486.iso: La suma coincide
    Debian4.0-cd2.i486.iso: La suma coincide
    Debian4.0-cd3.i486.iso: La suma coincide

    Si alguna de las imagénes está corrupta, aparecerá un mensaje que nos advierte de que la suma no coincide:

    Debian4.0-cd1.i486.iso: La suma coincide
    Debian4.0-cd2.i486.iso: La suma no coincide
    Debian4.0-cd3.i486.iso: La suma coincide
    ATENCIÓN: 1 de las 3 sumas de comprobación calculada NO coincidieron
  • Crear la suma MD5 correspondiente a un archivo: si aplicamos el comando md5sum a un archivo obtendremos su cheksum:
    $ md5sum /boot/vmlinuz
    ca894dd6579df021d73cf1e473d03a54     /boot/vmlinuz

    Para guardar el checksum redirigiremos la salida a un archivo:

    $ md5sum /boot/vmlinuz > MiKernel.md5

Artículos en la categoría "Encriptación y Criptografía"

  1. Checksum MD5
  2. Conexión remota segura SSH
  3. Software de encriptación GPG
  4. APT seguro (Secure APT)
  5. HTTPS (HTTP seguro): SSL
  6. Monedero Bitcoin Core en Ubuntu

9 Comments:

  1. Muchas gracias. Es muy clara la info. Hasta pronto.

  2. Gracias. No sabía cómo se usa :P

  3. Gracias!

  4. excelente gracias !!! aclararon todas mis dudas !!!!

  5. A mi me quedo claro pero hay algún comando que se ejecute en linux que sea solo para texto pq esos ejemplos son para archivos

  6. jose andrade, puedes ejecutar esto para texto:
    > md5 -s “mi texto”

    Por otro lado… muchas gracias por el articulo, conocia el comando pero no como usarlo para comparar.

    Saludos.

  7. Buenas…esta buena la informacion, pero quisiera saber cuales son las desventajas de este algoritmo de linux.

  8. Muchas gracias por la información, pero hay una pequeña duda. si codifico un texto, como puedo luego decodificarlo? queda claro la idea de que es un único sentido y se puede decodificar mediante fuerza bruta si tu no has sido quien lo codificaste. Me gustaría saber ese detalle porque cuando lo codificas luego veo que no sirve de nada porque el otro archivo lo sigues teniendo decodificado… entonces que sentido tiene? la idea es saber como saber como utilizarlo despues de un md5sum prueba > prueba.md5. Espero que me puedan ayudar, gracias.
    Saludos.

  9. pero qué dices atontao!!!!