Si los valores SHA-256 coinciden, los dos archivos tienen los mismos bytes
SHA-256 es una función hash que reduce un archivo de cualquier tamaño a un único resumen de 256 bits (32 bytes). Se suele escribir con 64 caracteres hexadecimales. Los mismos bytes dan siempre el mismo valor, donde y cuando se calcule, y basta cambiar un solo byte para que casi todos los 64 caracteres sean distintos. Por eso, si el valor SHA-256 que publica la página de descarga es igual al del archivo que recibiste, puedes concluir que el archivo no se dañó ni se sustituyó por otro durante la descarga.
Esta herramienta calcula el SHA-256 de lo que pongas en el cuadro A, un archivo o un texto, y coloca los 64 caracteres junto al valor de referencia del cuadro B en grupos de 8. Los archivos se leen en bloques de 4 MiB dentro del navegador, así que no hay límite de tamaño y se puede calcular incluso una imagen de instalación de varios GB viendo el avance. El contenido de los archivos y los resultados no se envían a ningún servidor.
El cuadro de referencia admite no solo un valor de 64 caracteres, sino también una lista completa de sumas de verificación como SHA256SUMS. La herramienta busca la línea con el mismo valor o, si no la hay, la línea con el mismo nombre de archivo, y compara con ella. Si los valores difieren, antes prueba las causas más habituales (un salto de línea al final, saltos de línea de Windows, la forma de composición Unicode, el valor de otro algoritmo de hash) y te indica cuál encaja.
Cuándo conviene comparar hashes
Comparar hashes responde en pocos segundos a la pregunta "¿este archivo es igual que el original?". Comparar byte a byte exige tener el original a mano, pero con un hash bastan 64 caracteres. Resulta especialmente útil en situaciones como estas.
- Después de descargar una imagen de sistema operativo o un instalador: las distribuciones de Linux y las herramientas de desarrollo publican en la página de descarga un valor SHA-256 o un archivo SHA256SUMS. Si usaste un espejo, o si la descarga se cortó y se reanudó, es más seguro comprobar el valor primero. La guía oficial de Ubuntu indica comprobar la imagen con SHA256SUMS y verificar además la firma de esa lista.
- Para comprobar que una copia de seguridad coincide con el original: los archivos movidos con un disco externo, un NAS o la sincronización en la nube pueden estar dañados aunque el nombre y el tamaño sean iguales. Cambia el cuadro B a "Otro archivo" y pon el original y la copia. La herramienta compara los dos valores y, si difieren, busca la posición del primer byte distinto.
- Después de enviar o recibir un archivo: si quien lo envía comparte también los 64 caracteres calculados en su equipo, quien lo recibe solo necesita poner el archivo para ver si es el mismo. Algunas aplicaciones de mensajería y redes sociales vuelven a comprimir fotos y vídeos, y en ese caso los valores serán distintos.
- Para comparar resultados de compilación en desarrollo: para saber si dos compilaciones del mismo código fuente son realmente idénticas, si el valor del atributo integrity de una página web es correcto o si el hash de ejemplo de una documentación de API coincide con tu implementación.
- Para comprobar que un texto se procesa de la misma manera: antes de crear una firma o un token, puede interesarte ver si el hash de una cadena es igual al de otro programa. La causa suele ser un byte de salto de línea o una diferencia de composición Unicode, y esta herramienta prueba esas diferencias hasta encontrar la que coincide.
Cómo usarla
- En el cuadro A, elige o suelta un Archivo. Para calcular el hash de un texto, cambia a Texto y escríbelo. Los archivos se calculan en cuanto los eliges y el texto, a medida que lo escribes.
- Pega en el cuadro B el valor SHA-256 de la página de descarga. También puedes pegar una lista completa de sumas de verificación o cargar un archivo de lista como SHA256SUMS con "Abrir archivo de lista". Para comparar dos archivos, cambia el cuadro B a Otro archivo.
- La línea de resultado dice "Coinciden" o "No coinciden". El tablero de abajo divide los 64 caracteres en ocho grupos de 8, pone el valor calculado en la fila superior y el de referencia en la inferior, y resalta los caracteres distintos.
- Si los valores difieren, mira la lista de causas de más abajo. En el modo de texto, cuando una diferencia como el último salto de línea hace que el texto coincida con el valor de referencia, pulsa "Calcular así" para recalcular con ese ajuste.
- Para usar el valor calculado, elige un formato de copia (minúsculas, mayúsculas o Base64) y pulsa "Copiar valor A".
Valores de ejemplo que puedes comprobar tú mismo
Los valores de abajo dieron el mismo resultado en esta herramienta, en Node.js crypto y en sha256sum de macOS. Muestran que un texto que se ve igual en pantalla recibe un valor completamente distinto si sus bytes son diferentes. En la tabla, ↵ es un salto de línea (0A) y ␍↵ es un salto de línea de Windows (0D 0A).
| Entrada | Bytes | SHA-256 | Descripción |
|---|---|---|---|
(vacío) | 0 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 | Una entrada sin nada, de 0 bytes. Un archivo vacío da el mismo valor. |
abc | 3 | ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad | El primer ejemplo del documento de ejemplos del NIST. |
abc↵ | 4 | edeaaff3f1774ad2888673770c6d64097e391bc362d7d6fb34982ddf0efd18cb | Se añadió un byte más al final, un salto de línea (0A). |
hello | 5 | 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 | Igual que el resultado de printf hello o echo -n hello. |
hello↵ | 6 | 5891b5b522d5df086d0ff0b110fbd9d21bb4fc7163af34d08286a2e846f6be03 | Igual que el resultado de echo hello | sha256sum. |
hello␍↵ | 7 | cd2eca3535741f27a8ae40c31b0c41d4057a7a7b912b33b9aed86485d1c84676 | Una línea que termina con un salto de línea de Windows (0D 0A). |
[BOM]hello | 8 | 7489ebbcc2a00056ddaaaac190bce473e5c03696ea1bd8ed83cf59a174283862 | El contenido de un archivo que empieza con una marca BOM de UTF-8 (EF BB BF). |
é | 2 | 4a99557e4033c3539de2eb65472017cad5f9557f7a0625a09f1c3f6e2ba69c4c | El carácter compuesto 'é' en un solo punto de código (NFC, U+00E9), 2 bytes. |
é | 3 | bf12767b0f2a56b2190075bae8169f656e3ce8d6357d4aff184bc6c7ea48f9f6 | 'é' como 'e' más un acento combinado (NFD, U+0065 U+0301), 3 bytes. En pantalla se ve igual que la fila anterior. |
Las dos últimas filas son la misma "é". macOS puede guardar los nombres de archivo en forma descompuesta (NFD), de modo que un hash hecho a partir de un nombre de archivo copiado puede ser distinto del que se hace en Windows o en Linux, por ejemplo con "café". Con los botones de normalización (NFC y NFD) del modo de texto puedes calcular ambas versiones.
Formatos que puedes pegar como valor de referencia
Cada página de descarga escribe los hashes a su manera. El cuadro B lee todos los formatos de abajo y, si una línea contiene un valor hexadecimal de 64 caracteres, lee también el nombre del archivo de esa línea. Si pegas varias líneas, cada una se lee por separado y se trata como una lista.
| Formato | Ejemplo | Descripción |
|---|---|---|
| 64 caracteres hexadecimales | ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad | La notación más habitual. Mayúsculas y minúsculas se consideran el mismo valor. |
| Mayúsculas en grupos de 8 | BA7816BF 8F01CFEA 414140DE 5DAE2223 B00361A3 96177A9C B410FF61 F20015AD | El valor dividido en palabras de 8 caracteres, como en el documento de ejemplos del NIST. Se ignoran espacios, dos puntos y guiones. |
| Lista de sha256sum | ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad abc.txt | Valor, espacio, carácter de modo (espacio o *) y nombre del archivo. Los archivos SHA256SUMS usan este formato. |
| Estilo BSD (--tag) | SHA256 (abc.txt) = ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad | El estilo que imprimen sha256sum --tag y shasum --tag. |
| OpenSSL | SHA256(abc.txt)= ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad | La salida de openssl dgst -sha256. OpenSSL 3 escribe SHA2-256. |
| Tabla de PowerShell | SHA256 BA7816BF8F01CFEA414140DE5DAE2223B00361A396177A9CB410FF61F20015AD C:\Users\me\Downloads\abc.txt | Una línea de la salida de Get-FileHash. El valor va en mayúsculas y de la ruta solo se toma el nombre del archivo. |
| Base64 | ungWv48Bz+pBQUDeXa4iI7ADYaOWF3qctBD/YfIAFa0= | Los 32 bytes escritos con 44 caracteres. |
| SRI (integrity) | sha256-ungWv48Bz+pBQUDeXa4iI7ADYaOWF3qctBD/YfIAFa0= | La notación del atributo integrity de las etiquetas script y link de una página web. |
Si un valor hexadecimal no tiene 64 caracteres, probablemente es de otro hash. 32 caracteres es la longitud de MD5, 40 la de SHA-1, 56 la de SHA-224, 96 la de SHA-384 y 128 la de SHA-512. Esta herramienta solo calcula SHA-256, así que ante un valor así te dice a qué algoritmo se parece y te muestra el comando para calcularlo en tu propio equipo.
Comandos que dan el mismo valor en tu equipo
Puedes volver a comprobar el resultado del navegador con un comando de tu sistema operativo. Sustituye "archivo" en los comandos de abajo por el nombre real del archivo. Si el nombre contiene espacios, enciérralo entre comillas dobles.
| Sistema | Comando | Conviene saber |
|---|---|---|
| Windows PowerShell | Get-FileHash archivo | Si no indicas el algoritmo, usa SHA256. El valor se imprime en mayúsculas. |
| Símbolo del sistema de Windows | certutil -hashfile archivo SHA256 | Añade siempre el nombre del algoritmo SHA256 al final. |
| macOS | shasum -a 256 archivo | Sin -a, shasum usa SHA-1, así que añade -a 256. |
| Linux | sha256sum archivo | Imprime el valor, dos espacios y el nombre del archivo. |
| Comprobar con una lista | sha256sum -c --ignore-missing SHA256SUMS | Imprime OK o FAILED por cada archivo de la lista. --ignore-missing omite los archivos que no descargaste. |
Motivos habituales por los que un hash de texto no coincide
El hash de un archivo lee los bytes tal cual, así que hay poco margen de confusión, pero el hash de un texto falla a menudo por bytes que no se ven en pantalla. Casi siempre se trata de uno de los cinco casos siguientes.
| Causa | Diferencia de bytes | Cómo ajustarlo en esta herramienta |
|---|---|---|
| Salto de línea que añade echo | Un 0A de más | Activa "Un salto de línea al final". En una terminal, echo -n o printf no añaden el salto de línea. |
| Saltos de línea de Windows | 0D 0A en lugar de 0A en cada línea | Cambia los saltos de línea a CRLF. Un cuadro de entrada del navegador guarda los saltos de línea como LF. |
| BOM de UTF-8 | EF BB BF al principio | Comprueba en modo de archivo un archivo con BOM. La lista de causas te avisa cuando encuentra una diferencia de BOM. |
| Composición de los acentos | 'é' ocupa 2 bytes (NFC) o 3 bytes (NFD) | Ajusta la normalización a NFC o NFD. Por defecto se deja la entrada tal cual. |
| Espacios al principio o al final | Espacio 20, tabulación 09 | Bórralos en el cuadro de entrada. Esta herramienta nunca quita espacios por su cuenta. |
Cuando hay un valor de referencia, la herramienta recalcula con estos cinco casos y sus combinaciones, empezando por el que menos cambia, y comprueba si alguno coincide. Así puede decirte directamente: "Este texto coincide con el valor de referencia con un salto de línea añadido al final". Las letras en otra caja son bytes distintos, por lo que no se prueban.
Cómo leer la huella visual
Leer y comparar 64 caracteres uno a uno es más fácil de equivocar de lo que parece. Por eso OpenSSH tiene la opción VisualHostKey, que muestra también la huella de la clave de un servidor como un pequeño dibujo, y la huella visual de esta herramienta usa el mismo método (el obispo borracho).
- Empieza en el centro de un tablero de 17 casillas de ancho y 9 de alto.
- Lee los 32 bytes desde el principio. De cada byte toma 2 bits cuatro veces, empezando por los bits bajos, y cada pareja de bits da un paso en diagonal. Si el primer bit es 1, el paso va a la derecha y, si es 0, a la izquierda. Si el segundo bit es 1, va hacia abajo y, si es 0, hacia arriba. Al llegar al borde del tablero se queda en su sitio.
- Las casillas visitadas más veces se dibujan más oscuras. El círculo es el punto de partida y el rombo es el punto final tras 128 pasos.
Si los dos dibujos son claramente distintos a simple vista, los valores también lo son. Pero que los dibujos se parezcan no demuestra que los valores sean iguales. El veredicto sale siempre de la comparación de los 64 caracteres, y el dibujo es solo una ayuda para echar un vistazo rápido.
Errores frecuentes
- Copiar otra línea de la lista: SHA256SUMS tiene varias líneas, una por versión, sistema operativo y CPU. En lugar de copiar una sola línea, pega la lista entera y esta herramienta busca la línea con el mismo valor o el mismo nombre.
- Una descarga sin terminar: si el tamaño es menor que el que indica la página de descarga, o el nombre es temporal, como .crdownload o .part, el valor será forzosamente distinto.
- Un archivo cuyo nombre termina en (1): cuando descargas dos veces el mismo archivo, el navegador añade (1) al nombre. El nombre no forma parte del hash, de modo que el mismo contenido da el mismo valor. Al buscar un nombre en una lista, esta herramienta ignora (1) y la diferencia entre mayúsculas y minúsculas.
- Un archivo que se descomprimió y se volvió a comprimir: aunque los archivos de dentro sean los mismos, la configuración de compresión y las marcas de tiempo cambian, así que el hash del archivo comprimido difiere del original.
- Pegar el contenido de un archivo en el cuadro de texto: al copiar y pegar el contenido de un archivo de texto pueden cambiar los saltos de línea, el BOM y la codificación. Comprueba el hash de un archivo en el modo de archivo.
- Comparar con el valor de otro algoritmo: si en la misma página figuran MD5, SHA-1 y SHA-512, fíjate primero en la longitud. SHA-256 tiene 64 caracteres.
Límites y precauciones
- Que los valores coincidan significa que las dos secuencias de bytes son iguales. No significa que el archivo sea seguro ni que su autor sea de fiar.
- Si obtuviste el hash y el archivo del mismo servidor, ambos pueden haber cambiado si ese servidor fue vulnerado. Por eso distribuciones como Ubuntu adjuntan una firma GPG al archivo SHA256SUMS y piden verificar también la firma. Esta herramienta no verifica firmas.
- Esta herramienta solo calcula SHA-256. Con MD5 y SHA-1 se han llegado a construir colisiones que producen a propósito el mismo hash (en SHA-1, Google y CWI publicaron una en 2017), y el NIST anunció que SHA-1 se retirará a finales de 2030. Para detectar manipulaciones, usa SHA-256 o superior.
- El cálculo va de decenas a cientos de MB por segundo según la velocidad del dispositivo. Un archivo de varios GB tarda, y si cierras la pestaña durante el cálculo, este se detiene. En un teléfono, un archivo que solo está en la nube se puede leer cuando el dispositivo termina de descargarlo.
- El modo de texto genera los bytes solo en UTF-8. Comprueba en modo de archivo los textos guardados con otra codificación, como Windows-1252.
- La huella visual es solo una ayuda visual y no se usa para el veredicto.
Fuentes
Fecha de revisión El estándar y el documento de ejemplos FIPS 180-4 del NIST, los manuales y el código de GNU coreutils, Microsoft y OpenSSH, y la guía de Ubuntu se comprobaron en sus textos originales el 22 de octubre de 2026. Los valores de la tabla de ejemplos dieron el mismo resultado en esta herramienta, en Node.js crypto y en sha256sum de macOS, y la huella visual se comparó con el dibujo que ssh-keygen traza a partir de los mismos 32 bytes.
- 01NIST: FIPS 180-4 Secure Hash Standard (SHS)Definición de SHA-256, publicada en agosto de 2015
- 02NIST: ejemplo de cálculo de SHA-256 (SHA256.pdf)Valores intermedios y resultados de abc y del mensaje de 448 bits, escritos como palabras de 8 caracteres en mayúsculas
- 03sha256sum(1), manual de GNU coreutilsFormato de la línea de salida, --tag, -c, --ignore-missing
- 04Microsoft Learn: Get-FileHashAlgoritmo por defecto SHA256, ejemplo de salida en mayúsculas
- 05Microsoft Learn: certutil-hashfile InFile [HashAlgorithm], lista de algoritmos admitidos
- 06Ubuntu: How to verify your Ubuntu downloadsha256sum -c SHA256SUMS y comprobación de la firma SHA256SUMS.gpg
- 07Código de OpenSSH: sshkey.c fingerprint_randomartTablero de 17 × 9, cuatro pasos de 2 bits por byte, inicio S y final E
- 08Manual de OpenBSD: ssh_config(5) VisualHostKeyLa opción que muestra también la huella de una clave como dibujo
- 09NIST: NIST Retires SHA-1 Cryptographic AlgorithmAnunciado el 15 de diciembre de 2022, con retirada hasta el 31 de diciembre de 2030
- 10Google Security Blog: Announcing the first SHA1 collisionFebrero de 2017, Google y CWI Ámsterdam publicaron una colisión real
- 11W3C: Subresource IntegrityNotación Base64 tras sha256- y sha384- en el atributo integrity
- 12Unicode: UAX #15 Unicode Normalization FormsNormalización NFC y NFD
Preguntas frecuentes
¿Se sube mi archivo a un servidor cuando lo elijo?
No. El archivo se lee en bloques de 4 MiB y se calcula dentro de este navegador. Ni el contenido del archivo ni el valor calculado se envían a un servidor. Al terminar el cálculo, solo queda el valor en pantalla.
¿Puedo comprobar un archivo ISO de varios GB?
Sí. Como el archivo se lee por bloques, nunca se carga entero en la memoria, y por eso no hay límite de tamaño. El cálculo va de decenas a cientos de MB por segundo según el dispositivo, así que un archivo grande tarda, y mientras tanto la herramienta muestra el avance y el tiempo restante.
Si los valores coinciden, ¿el archivo es seguro?
La coincidencia significa que tu archivo tiene los mismos bytes que el archivo al que pertenece el valor de referencia. Si el valor de referencia procede de la fuente oficial y si el archivo en sí es seguro, hay que comprobarlo aparte. Si quien publica el archivo firma la lista de sumas de verificación, conviene verificar también la firma.
¿Puedo comparar con un valor escrito en mayúsculas?
Sí. Las mayúsculas y las minúsculas del hexadecimal se consideran el mismo valor. Un valor dividido en grupos de 8 o separado por dos puntos también se lee como 64 caracteres una vez quitados los separadores.
¿Por qué un hash hecho en la terminal difiere del hash del texto?
echo añade un byte de salto de línea al final, así que echo hello y hello en esta herramienta dan valores distintos. Cuando pegas un valor de referencia, la herramienta prueba el salto de línea final, los saltos de línea de Windows y las diferencias de composición Unicode, y te dice cuál coincide.
¿Puedo pegar una lista SHA256SUMS completa?
Sí. Si pegas varias líneas, se leen el valor y el nombre de archivo de cada una, y la herramienta busca una línea con el mismo valor que tu archivo. Si ninguna línea tiene el mismo valor, compara con la línea del mismo nombre y muestra con cuál difiere. También puedes soltar un archivo de lista o cargarlo con "Abrir archivo de lista".
¿Qué son los valores de 40 o 128 caracteres?
40 caracteres hexadecimales es la longitud de un valor SHA-1 y 128, la de SHA-512. Esta herramienta solo calcula SHA-256, así que ante un valor así te dice a qué algoritmo se parece y te muestra el comando para calcularlo en Windows, macOS y Linux.
¿Cómo compruebo que dos archivos son iguales?
Cambia el cuadro B a "Otro archivo" y pon cada uno de los dos archivos, y se comparan los dos valores SHA-256. Si difieren, la herramienta muestra también la diferencia de tamaño y la posición del primer byte distinto.