Skip to content
BlockchainSign
es

Cómo verificar un hash tú mismo

Por Publicado el

Cómo verificar un hash tú mismo
Photo: Al Nahian

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 DIFERENTE
    
  • Cuidado 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.

Preguntas frecuentes

¿Cómo compruebo un hash SHA-256 en Windows?
Usa certutil -hashfile nombre_archivo SHA256 en un símbolo del sistema, o Get-FileHash nombre_archivo -Algorithm SHA256 en PowerShell. Ambos producen el mismo valor de 64 caracteres que shasum -a 256 da en macOS y Linux, ya que están calculando la misma función sobre los mismos bytes.
¿Por qué mi hash no coincide con el certificado?
Casi siempre porque el archivo cambió. Volver a guardar un documento, exportarlo de nuevo, reconstruir un archivo zip o una transferencia que convirtió los finales de línea producen bytes diferentes aunque parezcan idénticos. Archiva el archivo exacto que certificaste y trabaja sobre una copia.
¿Es tan fiable hacer el hash en un navegador como en la línea de comandos?
Sí, cuando usa la API Web Crypto, que es la misma implementación estándar que proporciona la plataforma. Nuestra herramienta produce una salida idéntica byte a byte a shasum -a 256, y funciona con la conexión apagada, lo cual es una forma conveniente de confirmar que no se está subiendo nada.

Demuestra hoy que tu trabajo ya existía

Sella en el tiempo cualquier archivo en la blockchain de Ethereum y consigue un certificado inalterable y para siempre. Tu archivo nunca sale de tu navegador.