Por ejemplo, tengo un archivo llamado test_binary
.
La prueba de suma de archivos MD5 es ef7ab26f9a3b2cbd35aa3e7e69aad86c
Para probarlo, ejecuta esto automáticamente:
$ md5sum -c <<<"ef7ab26f9a3b2cbd35aa3e7e69aad86c *path/to/file/test_binary"
test_binary: OK
o
$ echo "595f44fec1e92a71d3e9e77456ba80d1 filetohashA.txt" | md5sum -c -
Cita del hombre
-c, --check
read MD5 sums from the FILEs and check them
Cita de wiki
Nota: Debe haber dos espacios entre cada valor md5sum y nombre de archivo para comparar. De lo contrario, se producirá el siguiente error: "no se encontraron líneas de suma de comprobación MD5 formateadas correctamente".
Enlace a wiki
También puedes leer hash md5 del archivo
$ md5sum -c md5sum_formatted_file.txt
Está esperando un archivo con formato:
<md5sum_checksum><space><space><file_name>
Acerca *
y <space>
después del hash de suma MD5. Hay poca nota en el hombre:
When checking, the
input should be a former output of this program. The default mode is
to print a line with checksum, a character indicating input mode ('*'
for binary, space for text), and name for each FILE.
Y aquí hay un enlace a stackoverflow donde encontré la respuesta a la pregunta, ¿por qué deberíamos, a veces, distinguir binary
archivos y text
archivos?
*
, pero wiki dijo que debería ser dos espacios.*
para responderUna posibilidad es usar la utilidad cfv
CFV admite muchos tipos de hash, y tanto la creación de pruebas como la creación de archivos hash.
fuente
Sí,
*
se requiere un asterisco para este comando. Echale un vistazo a éste ejemplo.Este es el archivo binario, y digamos que el valor correcto de md5sum es
exampleofcorrectmd5value00000000
(32 caracteres hexadecimales)Si el valor de md5sum coincide con el archivo binario, obtendrá esta salida
Y esto es cuando el valor md5sum no coincide
Sin asterisco
*
, obtendrá el siguiente mensaje de error, incluso si el valor md5 es correctoAdemás, recibirá el mismo mensaje de error si md5sum no tiene 32 caracteres hexadecimales. En este ejemplo, solo tiene 31 caracteres.
Solución para muchos archivos
Si tiene muchos archivos y desea automatizar el proceso, puede seguir estos pasos:
Genere md5sum para cada archivo y guárdelo en md5sum.txt
Para verificar md5sum para todos los archivos, use el siguiente comando.
Este es un ejemplo si el valor de md5sum no coincide con el archivo. En este caso, voy a modificar el
file-b
contenido.Mira, este es el mensaje de error. Espero que esto ayude.
fuente