md5sum es un programa informático que calcula y verifica hashes MD5 de 128 bits, como se describe en RFC 1321. El hash MD5 funciona como una huella digital compacta de un archivo. Como ocurre con todos los algoritmos de hash de este tipo, en teoría existe una cantidad ilimitada de archivos que tendrán un hash MD5 determinado. Sin embargo, es muy poco probable que dos archivos no idénticos en el mundo real tengan el mismo hash MD5, a menos que hayan sido creados específicamente para tener el mismo hash. [2]
El algoritmo MD5 subyacente ya no se considera seguro . Por lo tanto, si bien md5sum es adecuado para identificar archivos conocidos en situaciones que no están relacionadas con la seguridad, no se debe confiar en él si existe la posibilidad de que los archivos hayan sido manipulados intencionalmente y de manera maliciosa. En este último caso, se recomienda el uso de una herramienta de hash más nueva, como sha256sum .
md5sum se utiliza para verificar la integridad de los archivos, ya que prácticamente cualquier cambio en un archivo provocará que su hash MD5 cambie. Por lo general, md5sum se utiliza para verificar que un archivo no haya cambiado como resultado de una transferencia de archivos defectuosa, un error de disco o una intromisión no maliciosa. El programa md5sum está incluido en la mayoría de los sistemas operativos tipo Unix o capas de compatibilidad como Cygwin .
El código C original fue escrito por Ulrich Drepper y extraído de una versión de 2001 de glibc . [3]
Se supone que todos los archivos siguientes están en el directorio actual.
$ md5sum archivoahashA.txt archivoahashB.txt archivoahashC.txt > hash.md5
El archivo contiene pares hash y nombre de archivo:
$ cat hash.md5 595f44fec1e92a71d3e9e77456ba80d1 archivoahashA.txt 71f920fa275127a7b60fa4d4d41432a3 archivoahashB.txt 43c191bf6d6c3f263a8cd0efd4a058ab archivoahashC.txt
Tenga en cuenta:
no properly formatted MD5 checksum lines found
md5sum: WARNING: x listed files could not be read
.dos2unix lo convertirá rápidamente si tiene formato DOS/Windows.$ md5sum -c hash.md5 archivoahashA.txt: OK archivoahashB.txt: OK archivoahashC.txt: OK
$ echo 'D43F2404CA13E22594E5C8B04D3BBB81 archivotohashA.txt' | md5sum -c archivotohashA.txt: OK
md5sum
es específico para sistemas que utilizan GNU coreutils o un clon como BusyBox . En FreeBSD y OpenBSD las utilidades se llaman md5 , sha1 , sha256 y sha512 . Estas versiones ofrecen opciones y características ligeramente diferentes. Además, FreeBSD ofrece la familia "SKEIN" de resúmenes de mensajes. [4]