Generador de hash SHA-1, SHA-256, SHA-384 y SHA-512
Obtén la huella SHA-1, SHA-256, SHA-384 y SHA-512 de cualquier texto o archivo, en hexadecimal o Base64, y compárala con el checksum publicado. Activa HMAC si necesitas firmar con una clave secreta.
Cómo usar el generador de hash
- Escribe o pega el texto, o cambia a Archivo y arrastra el fichero (un ISO, un instalador, un PDF…).
- Los cuatro algoritmos se calculan a la vez. Cada resultado tiene su botón para copiarlo.
- Para verificar una descarga, pega el checksum oficial en Comparar: la herramienta indica qué algoritmo coincide, sin importar mayúsculas ni espacios.
- Si escribes una clave HMAC, el resultado pasa a ser HMAC-SHA-xxx con esa clave.
Todo se calcula con la Web Crypto API (crypto.subtle.digest y crypto.subtle.sign) dentro de tu navegador. Para archivos muy grandes (varios GB) la memoria del dispositivo puede ser el límite, porque la API necesita el archivo completo.
Qué es un hash y cómo funciona
Una función hash criptográfica transforma datos de cualquier tamaño en una huella de longitud fija con tres propiedades: es determinista (la misma entrada da siempre el mismo resultado), un cambio mínimo altera por completo la salida (efecto avalancha) y es inviable encontrar dos entradas con la misma huella o reconstruir la entrada a partir de ella.
| Algoritmo | Bits | Caracteres hex | Estado |
|---|---|---|---|
| MD5 | 128 | 32 | Roto: solo integridad no adversarial |
| SHA-1 | 160 | 40 | Colisiones prácticas desde 2017 |
| SHA-256 | 256 | 64 | Seguro; el estándar actual |
| SHA-384 | 384 | 96 | Seguro; usado en TLS y SRI |
| SHA-512 | 512 | 128 | Seguro; más rápido que SHA-256 en CPU de 64 bits |
Ejemplos de referencia
Puedes comprobar que la herramienta funciona con estos valores conocidos (entrada en UTF-8, sin salto de línea final):
| Entrada | Algoritmo | Hash |
|---|---|---|
| (vacío) | SHA-256 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 |
| abc | SHA-1 | a9993e364706816aba3e25717850c26c9cd0d89d |
| abc | SHA-256 | ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad |
Si añades un espacio o un salto de línea tras «abc», el SHA-256 ya no se parece en nada. Ese es el motivo más frecuente de checksums que «no coinciden» al copiar texto desde la terminal: echo "abc" | sha256sum incluye el salto de línea; usa echo -n o printf.
Usos habituales
- Verificar descargas: las distribuciones Linux y muchos proyectos publican un archivo
SHA256SUMS. En la terminal:sha256sum archivo(Linux),shasum -a 256 archivo(macOS) oGet-FileHash archivo(PowerShell). - Subresource Integrity (SRI): el atributo
integrity="sha384-…"lleva el SHA-384 del archivo en Base64; elige ese formato de salida. - Firmar webhooks y APIs: servicios de pago y plataformas como GitHub envían una cabecera con el HMAC-SHA-256 del cuerpo; recalcúlalo con tu secreto para comprobar que el mensaje es auténtico.
- Deduplicar archivos: dos archivos con el mismo SHA-256 son, a efectos prácticos, idénticos.
Hash y contraseñas: un error común
Guardar SHA-256(contraseña) no es seguro: una GPU calcula miles de millones de SHA-256 por segundo, así que las contraseñas débiles caen por fuerza bruta. Para almacenar contraseñas usa funciones lentas y con sal diseñadas para ello: Argon2id, bcrypt o scrypt. Y para que la contraseña resista, que sea larga y aleatoria: puedes crearla con el generador de contraseñas. Si necesitas transportar el hash binario en texto, recuerda que la salida Base64 equivale a codificar los bytes con Base64.
Preguntas frecuentes
¿Se puede descifrar un hash SHA-256?
No. Un hash es una función de un solo sentido: no existe una clave que lo revierta. Lo único posible es probar entradas candidatas y comparar, por eso las contraseñas cortas o comunes se encuentran rápido aunque estén hasheadas.
¿Por qué mi hash no coincide con el de otra herramienta?
Casi siempre por la entrada: un salto de línea final, espacios, saltos de línea Windows (CRLF) frente a Unix (LF) o una codificación distinta de UTF-8. Un solo byte diferente cambia todo el resultado.
¿SHA-1 sigue siendo seguro?
No para firmas ni certificados: desde 2017 se conocen colisiones prácticas. Sigue sirviendo para detectar corrupción accidental o como identificador (Git lo usa), pero para seguridad usa SHA-256 o superior.
¿Qué es HMAC y cuándo lo necesito?
HMAC combina una clave secreta con el hash para que solo quien conoce la clave pueda generar o comprobar el resultado. Se usa para firmar webhooks, peticiones a APIs y tokens JWT HS256.
¿Mis archivos se suben a algún servidor?
No. El cálculo se hace con la Web Crypto API de tu navegador; el archivo se lee en memoria local y nunca sale de tu dispositivo.