Un checksum, o suma de comprobación, es el resultado de la ejecución de un algoritmo dentro de un archivo único, función denominada Cryptographic hash function. Comparar el checksum que generas desde tu versión del archivo, junto al provisto por la fuente del mismo, representa una ayuda para asegurarte una copia genuina y libre de errores.
Un checksum es también denominado hash sum, hash value, hash code, simplemente hash.
Un simple ejemplo de Checksum
La idea de un checksum (o cryptographic hash function) puede resultar un tanto complicada y parecer no valer la pena, ¡pero me gustaría convencerte de lo contrario! Los checksum no son realmente tan difíciles de comprender o crear.
Comencemos con un ejemplo simple, buscando exhibir el poder que los checksums tienen para probar que algo ha cambiado: el checksum MD5 para la frase “this is a test” o “esto es una prueba” es 120EA8A25E5D487BF68B5F7096440019. Se trata de una larga cadena de caracteres representando dicha oración.
Para cumplir con nuestro propósito, esencialmente ellos se igualan los unos a los otros. Sin embargo, efectuar un pequeño cambio, como ser el borrado de un punto, producirá un checksum completamente diferente de CE114E4501D2F4E2DCEA3E17B546F339.
Como puedes observar, incluso un cambio minúsculo en el archivo producirá un notable cambio en el checksum, dejando bien en claro que no existen dos iguales.
Casos de uso de Checksums
Supongamos que te encuentras descargando una nueva actualización, como ser un service pack, para un programa que utilizas diariamente, como ser un editor de gráficos.
Se tratará probablemente de un archivo grande, debiendo tomar varios minutos en descargar.
Una vez descargado, ¿cómo compruebas que el archivo se ha descargado de manera correcta? ¿Cómo saber si el archivo alojado ahora en tu ordenador no se ha modificado a lo largo del proceso de descarga? Aplicar una actualización diferente a la que el desarrollador ha creado puede ser un causante de graves problemas.
Aquí es donde el comparar checksums puede llevarte tranquilidad. Asumiendo que el sitio web desde el cual has descargado el archivo te provee de la información de checksum, puedes hacer uso de una calculadora para crear un checksum desde el fichero descargado.
Por ejemplo, digamos que el sitio web te provee del checksum MD5:5a828ca5302b19ae8c7a66149f3e1e98 para el archivo que has descargado. Paso siguiente, haz uso de la calculadora para generar un checksum utilizando la misma función de hash criptográfico, en este ejemplo MD5, en el fichero alojado en tu ordenador. ¿Los checksums coinciden? ¡genial! puedes confiar en que estos dos archivos son idénticos.
¿Los checksums no coinciden? Esto puede significar muchas cosas, desde el hecho que alguien haya reemplazado la descarga por algún archivo malicioso, por haber abierto y modificado inintencionalmente el fichero, o bien si la conexión de red ha sido interrumpida y por tanto la descarga del archivo no se ha completado. Intenta descargar el fichero nuevamente y crea un nuevo checksum en el nuevo archivo para comparar.
Los checksums representan una manera conveniente de verificar que los archivos descargados desde fuentes no oficiales sean validos y no han sido alterados, maliciosa o accidentalmente.
Simplemente compara el hash que has creado con el hash disponible en la fuente del archivo.
Calculadoras checksum
Las calculadoras checksum son las herramientas utilizadas para computar checksums. Existe una gran cantidad de calculadoras checksum, cada una de estas con soporte para diferentes grupos de funciones de hash criptográfico (Cryptographic hash functions).
Mi calculadora checksum favorita es Microsoft File Checksum Integrity Verifier, abreviada como fvic. Fciv cuenta con soporte únicamente para funciones de hash criptográficas MD5 y SHA-1, aunque estas son por lejos las más populares de la actualidad.
Otra excelente calculadora checksum gratuita para Windows es IgorWare Hasher, y es completamente portable para que no instales nada en tu ordenador. Si no te encuentras cómodo con la herramienta de líneas de comando, este programa es probablemente una mejor opción. El software soporta MD5 y SHA-1, así como también CRC32. Puedes hacer uso de IgorWare Hasher para encontrar el checksum de textos y archivos.
JDigest es una calculadora checksum de difusión totalmente gratuita que funciona en Windows, macOS y también Linux.
Nota: ya que no todas las calculadoras checksum cuentan con soporte para todas las posibles funciones de hash criptográfico, intenta asegurarte de que la que elijas cuenta con soporte para la función producida por el checksum que acompaña el archivo descargado.
Siempre es bueno agregar las referencias:
https://www.lifewire.com/what-does-checksum-mean-2625825