Generador de Hash (SHA-256, SHA-512)
Calcula hashes SHA-1, SHA-256, SHA-384 y SHA-512.
El hash se calcula aquí, sin enviar nadaGenerar un hash SHA-256 de un texto
Sobre este generador de hash SHA
Un hash es una huella digital de longitud fija. La misma entrada siempre produce la misma salida, cambiar un solo bit produce una salida completamente distinta, y el largo nunca varía: SHA-256 devuelve 64 caracteres hexadecimales tanto si hasheas una letra como una imagen de disco de 4 GB. Se usan para verificar integridad, comparar valores sin guardarlos y darle un nombre estable a un contenido.
Esta herramienta calcula las cuatro variantes de SHA a la vez, mientras escribes, usando la Web Crypto API integrada en tu navegador: la misma implementación auditada que se usa para HTTPS, no una reimplementación en JavaScript. Tu entrada nunca sale de tu equipo, así que puedes hashear valores que no pegarías en una herramienta que corre en el servidor de otro.
Las cuatro que ves aquí son las que expone el navegador, no toda la familia. El FIPS 180-4 define SHA-1 y seis variantes de SHA-2 (SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 y SHA-512/256); Web Crypto implementa SHA-1, SHA-256, SHA-384 y SHA-512 y nada más. Por eso tampoco hay MD5 ni SHA-3. SHA-256 trabaja con palabras de 32 bits y bloques de 512; SHA-384 y SHA-512 con palabras de 64 bits y bloques de 1024. SHA-384 es SHA-512 truncado, y ese truncado importa: las variantes truncadas de SHA-2 resisten los ataques de extensión de longitud, mientras que SHA-1, SHA-256 y SHA-512 no.
La codificación del texto forma parte del hash, y de ahí sale la mayoría de los "no me coincide el checksum". Esta herramienta codifica lo que escribes en UTF-8 antes de hashear, así que el mismo texto guardado en UTF-16 o en Latin-1 da otro resultado. En español esto muerde más que en inglés: la palabra café en UTF-8 y en Latin-1 son bytes distintos y por lo tanto hashes distintos. Un salto de línea invisible al final — que casi todos los editores agregan al guardar — cambia el digest completo, igual que una sola mayúscula.
Lo que no debes hacer con esto es guardar contraseñas. SHA está diseñado para ser rápido, y rápido es justo lo contrario de lo que quieres cuando un atacante tiene tu base de datos y está adivinando. El NIST SP 800-63B exige que las contraseñas lleven sal de al menos 32 bits y pasen por un esquema de hashing de contraseñas con un factor de costo lo más alto que sea práctico: en la práctica, bcrypt, scrypt, Argon2 o PBKDF2, no un SHA pelado. Tampoco autentiques mensajes con SHA(secreto + mensaje): para eso está HMAC, construido justamente para resistir la extensión de longitud. Y SHA-1 no debe usarse para nada relacionado con seguridad: en 2017 se publicó una colisión real y el NIST lo retira para usos de seguridad el 31 de diciembre de 2030.
Comparación de algoritmos SHA y cómo verificar el hash de un archivo descargado
Elegir algoritmo suele ser una decisión de dos segundos — SHA-256 salvo que algo te diga lo contrario — pero conviene saber para qué sirven los demás. La resistencia a colisiones es aproximadamente la mitad del largo de la salida: SHA-256 ofrece unos 128 bits y SHA-512 unos 256.
| Algoritmo | Salida | Estado y uso típico |
|---|---|---|
| SHA-1 | 160 bits / 40 hex | Roto: en 2017 se publicó una colisión práctica. El NIST lo retira para seguridad el 31/12/2030. Sirve aún como identificador sin función de seguridad, como los IDs de objeto de Git. |
| SHA-256 | 256 bits / 64 hex | La opción por defecto. Certificados TLS, checksums de paquetes y releases, direccionamiento por contenido. |
| SHA-384 | 384 bits / 96 hex | SHA-512 truncado. Resiste la extensión de longitud; común en suites de cifrado TLS. |
| SHA-512 | 512 bits / 128 hex | Mayor margen, internamente de 64 bits. Se usa donde se especifica un digest más largo. |
| MD5 | 128 bits / 32 hex | Producir colisiones es trivial. No está en Web Crypto. Solo para checksums heredados. |
| SHA-3-256 | 256 bits / 64 hex | Otra construcción (Keccak), sin la debilidad de extensión de longitud. No está en Web Crypto. |
Esta herramienta hashea texto, no archivos: el campo de arriba recibe una cadena. Para comprobar una descarga, calcula el hash donde ya está el archivo, con un comando que tu sistema operativo ya trae instalado:
| Sistema | Comando |
|---|---|
| Windows (cmd) | certutil -hashfile archivo.iso SHA256 |
| Windows PowerShell | Get-FileHash archivo.iso -Algorithm SHA256 |
| macOS | shasum -a 256 archivo.iso |
| Linux | sha256sum archivo.iso |
Después compara. El hexadecimal no distingue mayúsculas de minúsculas, así que la salida en mayúsculas de certutil y la de sha256sum en minúsculas son el mismo valor; certutil además intercala espacios que puedes ignorar. La comparación solo tiene sentido si el checksum publicado viene de un lugar que un atacante no podría editar junto con el archivo: un hash puesto en la misma página de descarga demuestra que la transferencia no se corrompió, no que el archivo sea legítimo. Para eso hace falta una firma.
SHA-256("hola") b221d9dbb083a7f33428d7c2a3c3198ae925614d70210e28716ccaa7cd4ddb79
SHA-256("Hola") e633f4fc79badea1dc5db970cf397c8248bac47cc3acf9915ba60b5d76b0e88f
SHA-256("hola\n") 133ee989293f92736301280c6f14c89d521200c17dcdcecca30cd20705332d44
SHA-256("contraseña") edf9cf90718610ee7de53c0dcc250739239044de9ba115bb0ca6026c3e4958a5Dos cosas que un hash no puede hacer. No se puede revertir, pero eso no equivale a mantener un valor en secreto: una entrada corta o predecible se puede adivinar y hashear hasta que los digests coincidan, así que hashear un correo electrónico no lo anonimiza. Y un hash sin clave no prueba nada sobre quién produjo el dato: quien pueda cambiar el archivo también puede cambiar el hash publicado. Para eso necesitas un MAC o una firma digital.
Tablas de referencia
Preguntas frecuentes
¿Qué SHA debo usar?
SHA-256 es la opción estándar para la mayoría de los casos. SHA-1 está roto para seguridad y solo debe usarse por compatibilidad con sistemas antiguos (como los IDs de objetos de Git).
¿Por qué no hay MD5?
MD5 está criptográficamente roto y los navegadores no lo implementan de forma nativa. Si lo necesitas para un checksum antiguo existen herramientas dedicadas, pero evítalo para cualquier cosa nueva.
¿Se puede revertir un hash?
No, el hashing es de una sola vía. Pero entradas comunes pueden adivinarse por fuerza bruta; por eso las contraseñas requieren hashes lentos y con sal (bcrypt, Argon2), no SHA simple.