Qué necesita
El archivo descargado, el checksum que publica el editor y un navegador o una terminal. Para comprobar un texto corto en lugar de un archivo, use el generador de hash. Si el editor ofrece varios algoritmos, elija SHA-256 o SHA-512.
Cómo leer el resultado
Un checksum cambia por completo cuando cambia un solo byte. Tome un archivo de 14 bytes, release-notes.txt, que contiene Hello, world! seguido de un salto de línea:
| Algoritmo | Checksum de release-notes.txt |
|---|---|
| CRC-32 | 7b55a718 |
| MD5 | 746308829575e17c3331bbcb00c0898b |
| SHA-1 | 09fac8dbfd27bd9b4d23a00eb648aa751789536d |
| SHA-256 | d9014c4624844aa5bac314773d6b689ad467fa4e1d1a50a1b8a99d5a95f72ff5 |
Cambie el signo de exclamación por uno de interrogación y el SHA-256 pasa a ser 84c8826b6695ba4f02c9b9a31bb13e2f3fe83c4288cee2f09277e54f5b06ba8d. Los dos valores no se parecen en nada, y esa es la idea: nunca hay que valorar "cuánto se parecen" dos checksums. O coinciden exactamente o el archivo es distinto.
En la terminal, la misma comprobación contra un archivo SHA256SUMS se ve así:
$ sha256sum -c SHA256SUMS
release-notes.txt: OK
y tras cambiar un carácter:
release-notes.txt: FAILED
sha256sum: WARNING: 1 computed checksum did NOT match
En la calculadora, si pega un valor MD5 con solo SHA-256 marcado, obtendrá No coincide con un aviso de que el valor esperado parece MD5. Marque ese algoritmo y la comparación se repite.
Errores frecuentes
- Comparar algoritmos distintos. Un valor SHA-1 nunca coincidirá con un resultado SHA-256. Cuente los caracteres si la página no lo indica.
- Calcular el hash del texto en vez del archivo. Escribir
Hello, world!en un generador de hash de texto da315f5bdb76d078c43b8ac0064e4a0164612b1fce77c869345bfc94c75894edd3, porque el archivo además contiene un salto de línea. Textos y archivos se procesan byte a byte. - Comprobar una copia modificada. Las transferencias que convierten los saltos de línea y las herramientas que descomprimen o recomprimen archivos cambian los bytes. Calcule el hash del archivo tal como se descargó.
- Sacar el checksum del mismo sitio que el archivo. Si un servidor espejo fue comprometido, su checksum también puede estarlo. Prefiera el sitio HTTPS del propio proyecto y un archivo de checksums firmado si lo hay.
- Preocuparse por mayúsculas y minúsculas. PowerShell muestra el hexadecimal en mayúsculas y
sha256sumen minúsculas. Es el mismo valor, y la calculadora no distingue entre ambas.
Para ir más lejos
Por qué un cambio mínimo altera todo el valor, y por qué MD5 y SHA-1 ya no son fiables frente a atacantes, se explica en Cómo funciona el hashing.