Cómo verificar un hash tú mismo
Por BlockchainSignPublicado el

Verificar un hash es una operación de treinta segundos con herramientas que ya tienes en tu ordenador. Es también el paso que convierte "me dijeron que coincide" en "lo he comprobado".
Los comandos
macOS y Linux
shasum -a 256 nombre_archivo
o, en la mayoría de distribuciones de Linux:
sha256sum nombre_archivo
Windows
certutil -hashfile nombre_archivo SHA256
PowerShell
Get-FileHash nombre_archivo -Algorithm SHA256
En un navegador — el generador gratuito de hash SHA-256 de este sitio. Utiliza la API Web Crypto, se ejecuta íntegramente en tu máquina y funciona con la conexión apagada. Esa última propiedad es la clave: puedes confirmar que no se está subiendo nada desconectando el cable.
Todos estos producen la misma cadena hexadecimal de 64 caracteres para los mismos bytes. Si dos herramientas discrepan, una de ellas está calculando el hash de algo diferente.
Comparar sin marearse
Una cadena de 64 caracteres es fácil de leer a vista y cometer errores. Algunos hábitos más seguros:
Compara los primeros seis y los últimos seis caracteres para una verificación rápida, y luego pega ambos en un editor de texto para una comparación completa cuando sea importante.
Deja que la máquina lo haga. En macOS o Linux:
[ "$(shasum -a 256 archivo.pdf | cut -d' ' -f1)" = "hash_esperado_aqui" ] && echo COINCIDE || echo DIFERENTECuidado con las mayúsculas. La salida hexadecimal es insensible a mayúsculas y minúsculas en su significado, pero las herramientas difieren en lo que imprimen. Pon ambas en minúsculas antes de comparar.
Cuando el hash no coincide
Una discrepancia significa que los bytes son diferentes. Eso es todo lo que significa, y las causas habituales son banales.
El archivo se volvió a guardar. Abrir un documento y guardarlo de nuevo lo reescribe, a menudo con una nueva fecha de modificación incrustada dentro, o con un proceso de compresión distinto. El contenido parece idéntico y los bytes no lo son.
Se exportó en lugar de copiarse. Un PDF exportado dos veces desde la misma fuente suele ser dos archivos distintos.
La transferencia lo alteró. Algunas herramientas "corrigen" amablemente los finales de línea en archivos de texto, convirtiendo entre LF y CRLF. Eso cambia cada línea.
Has hecho el hash de lo incorrecto. Has hecho el hash de una carpeta, un alias o un zip que has reconstruido en lugar del archivo original. Reconstruir un zip casi nunca reproduce los bytes originales, porque los timestamps y el orden se almacenan dentro.
Algo va realmente mal. Es raro, pero esa es la razón de existir de la comprobación.
La lección en todo esto: archiva el archivo exacto que certificaste y trabaja sobre una copia. Un sello de tiempo cubre bytes, no significado.
Por qué "verifícalo tú mismo" no es un eslogan
Hay una razón específica para insistir en esto en lugar de aceptar una marca verde en un sitio web.
Una página de verificación que no escribiste, que se ejecuta en un servidor que no controlas, mostrando un resultado que no puedes reproducir, es una afirmación. Ocurre que es verdadera en la mayoría de los casos, y sigue siendo una afirmación. Cuando el registro importa —un conflicto, una auditoría, una reclamación— quieres una comprobación que no pase por la parte interesada en la respuesta.
Ese es también el estándar al que nos sometemos nosotros. Nuestra página de verificación explica cada comprobación con una nota de "cómo hacerlo tú mismo" junto a ella, porque una herramienta de verificación que no pueda ser reemplazada por tres comandos de shell está haciendo algo que no debería necesitar hacer.
Qué demuestra un hash coincidente
Que dos archivos son idénticos byte a byte. Nada más, y es mucho.
No te dice de dónde viene ninguno de los archivos, quién lo creó o cuándo; eso proviene de la evidencia circundante. En un certificado de sello de tiempo, el hash es el enlace entre tu archivo y un registro público fechado; por sí solo, es una huella digital sin fecha adjunta.
Para saber qué es un hash y por qué funciona, consulta qué es un hash SHA-256.