Los programas de suma de verificación se utilizan para generar cadenas de clave de suma de verificación a partir de los archivos y verificar la integridad de los archivos más adelante mediante el uso de esa cadena de suma de verificación. Un archivo puede distribuirse a través de la red o cualquier medio de almacenamiento a diferentes destinos. Debido a muchas razones, hay posibilidades de que el archivo se corrompa debido a que faltan algunos bits durante la transferencia de datos por diferentes razones. Estos errores ocurren con mayor frecuencia durante la descarga de archivos de Internet, la transferencia a través de una red, daños en el CD-ROM, etc.
Por lo tanto, necesitamos saber si el archivo recibido es el correcto o no aplicando algún tipo de prueba. La cadena de clave especial que se utiliza para esta prueba de integridad de archivos se conoce como suma de comprobación. . La técnica de suma de comprobación más famosa y ampliamente utilizada es md5sum .
Computando md5sum
1. Primero debemos calcular el md5sum del archivo. Para imprimir la suma de comprobación md5 en el terminal, utilice el comando md5sum seguido del nombre del archivo.
# md5sum file dcf21e3a1a0181294bceae07ec16a9d9 file
md5sum es una cadena hexadecimal de 32 caracteres como se indica.
2. También puede redirigir md5sum a un archivo como se muestra a continuación.
# md5sum file > hash.md5
3. También puede crear un hash md5sum para varios archivos con el mismo comando.
# md5sum file1 file2 file3
Verificación de la integridad de un archivo con suma de comprobación md5
1. Para verificar que la cadena alfanumérica que se imprimió en el terminal coincida con el hash md5 que se proporcionó con el archivo. Para verificar la suma de comprobación md5 desde un archivo.
# md5sum -c hash.md5 file: OK
El programa imprimirá en la consola el nombre del archivo y ok si se verifica. El formato del archivo debe ser:hash (dos espacios) nombre de archivo.
# vim hash.md5 dcf21e3a1a0181294bceae07ec16a9d9 file
2. Si la suma de comprobación del archivo falla, obtendrá un resultado como el que se muestra a continuación.
$ md5sum -c hash.md5 file: FAILED
Cómo verificar la suma de verificación de todos los archivos en algún directorio de forma recursiva
Suponga que desea verificar la suma de verificación de todos los archivos/subdirectorios en algún directorio. La utilidad md5sum no tiene la opción recursiva. No te preocupes, hay un pequeño truco que puedes usar aquí.
1. Puede crear una lista md5sum combinando find y md5sum. Por ejemplo:
# find [DirectoryName] -type f -exec md5sum {} \; > ~/md5sum.txt
El comando anterior le permite crear una lista md5sum para todos los archivos en algún directorio.
2. Para verificarlo, simplemente puede hacer lo siguiente:
# md5sum --check md5sum.txt > result.txt
md5deep para calcular la suma de comprobación en directorios
Las sumas de verificación generalmente se calculan en los archivos. Pero si desea calcularlos en un directorio, deberá calcular las sumas de verificación para todos los archivos en el directorio, de forma recursiva. Esto se puede lograr fácilmente con la utilidad "md5deep". Por ejemplo, para calcular md5sum en un directorio.
# md5deep -rl /path/to/directory > directory.md5
Aquí,
-r – proporciona la característica recursiva md5sum
-l – se utiliza para la ruta relativa. De forma predeterminada, escribe la ruta de archivo absoluta en la salida.