Generador de hash online: SHA-256, MD5, SHA-1, SHA-512 y HMAC-SHA256 de textos y archivos
Elige el algoritmo, escribe o pega un texto y el hash aparece mientras escribes. Con Hash a file obtienes la suma de comprobación de una descarga, una imagen ISO o una copia de seguridad; el archivo lo lee tu navegador y no se sube a ningún servidor. Si rellenas el campo HMAC secret key, el resultado pasa a ser un HMAC con esa clave en lugar de un hash simple, útil por ejemplo para comprobar la firma de un webhook. El generador ofrece MD5, SHA-1, SHA-256, SHA-384 y SHA-512, los algoritmos que encontrarás en checksums, APIs y sistemas antiguos.
Qué hace una función hash
Una función hash criptográfica convierte una entrada de cualquier tamaño en un valor de tamaño fijo, el hash o resumen. La misma entrada da siempre el mismo hash, cambiar un solo carácter produce uno completamente distinto y está diseñada para que sea inviable obtener la entrada a partir del hash o encontrar dos entradas con el mismo hash. Por eso funciona como una huella digital: comparando dos hashes sabes si dos textos o archivos son idénticos sin compararlos byte a byte.
algoritmo bits hex hash de "hola"
MD5 128 32 4d186321c1a7f0f354b297e8914ab240
SHA-1 160 40 99800b85d3383e3a2fb45eb7d0066a4879a9dad0
SHA-256 256 64 b221d9dbb083a7f33428d7c2a3c3198ae925614d70210e28716ccaa7cd4ddb79
SHA-384 384 96 9a24e552775726487158d6d8954c59fa0054d561192de5d6255a1eb3a0dc5f
ab3b3f5b09f6d170f95081cc8abeb31b91
SHA-512 512 128 e83e8535d6f689493e5819bd60aa3e5fdcba940e6d111ab6fb5c34f24f86496b
f3726e2bf4ec59d6d2f5a2aeb1e4f103283e7d64e4f49c03b4c4725cb361e773
El texto se procesa como bytes UTF-8, igual que sha256sum, hashlib de Python, crypto de Node.js y hash() de PHP, así que los resultados coinciden con los de tu código también con tildes y ñ. Los hashes se muestran en hexadecimal en minúsculas; en mayúsculas es el mismo valor.
Qué algoritmo elegir
Usa SHA-256 por defecto. Pertenece a la familia SHA-2, definida en el estándar NIST FIPS 180-4, se usa en certificados TLS, en Bitcoin y en la mayoría de checksums de software, y no tiene ataques prácticos conocidos. SHA-512 es igual de seguro y puede ser más rápido en procesadores de 64 bits. SHA-384 es una versión truncada de SHA-512.
MD5 y SHA-1 están rotos para usos de seguridad. En 2004 se publicaron colisiones de MD5, y en 2017 Google y el CWI de Ámsterdam presentaron SHAttered, la primera colisión práctica de SHA-1. Sirven para detectar corrupción accidental o por compatibilidad, nunca para firmas, certificados ni nada que un atacante pueda falsificar.
Ninguno de estos algoritmos sirve para guardar contraseñas. Están diseñados para ser rápidos, y una GPU puede probar miles de millones de candidatos por segundo. Para contraseñas usa una función específica con sal y factor de coste, como Argon2id, scrypt o bcrypt, que es lo que recomienda OWASP.
¿Se puede desencriptar un MD5?
No. Un hash no es un cifrado: no hay clave ni operación inversa, y infinitas entradas distintas comparten cada posible hash. Las webs que prometen «desencriptar MD5» o «MD5 decrypt» en realidad buscan el hash en tablas enormes de palabras ya calculadas o prueban candidatos por fuerza bruta. Funcionan con contraseñas débiles, palabras de diccionario y datos cortos como un número de teléfono, y fallan con cualquier entrada larga y aleatoria.
La consecuencia práctica es importante: el hash de un dato corto o predecible no es anónimo. Si guardas el MD5 o el SHA-256 de un DNI o de un correo electrónico, cualquiera puede recuperarlo probando valores. Para eso existen el HMAC con una clave secreta o la seudonimización con un valor aleatorio.
Verificar un archivo descargado
Muchos proyectos publican un checksum SHA-256 junto a cada descarga. Elige el algoritmo, pulsa Hash a file, selecciona el archivo y compara el resultado con el valor publicado. Si difiere un solo carácter, el archivo está dañado o no es el que publicó el autor. La comprobación solo demuestra integridad si el checksum procede de una fuente de confianza, como la web del proyecto por HTTPS o un archivo de checksums firmado, no del mismo espejo que el archivo.
sha256sum ubuntu.iso # Linux
shasum -a 256 ubuntu.iso # macOS
Get-FileHash .\ubuntu.iso # PowerShell (SHA256 por defecto)
certutil -hashfile ubuntu.iso SHA256 # cmd de Windows
sha256sum -c SHA256SUMS # comprueba todos los archivos de la lista
Si tu SHA-256 no coincide con el de la terminal, casi siempre la entrada es distinta. echo añade un salto de línea, de modo que echo hola | sha256sum da 133ee989…, mientras que el generador y printf 'hola' | sha256sum dan b221d9db…. Los espacios finales, los saltos de línea de Windows y una BOM al inicio del archivo tienen el mismo efecto.
HMAC-SHA256: un hash con clave secreta
Un HMAC, definido en la RFC 2104, combina una función hash con una clave secreta. Solo quien conoce la clave puede producir el valor correcto, así que el HMAC sirve para autenticar mensajes: las firmas de webhooks de Stripe, GitHub o Shopify, las firmas de peticiones de AWS y los JWT firmados con HS256 usan HMAC-SHA256. Escribe la clave en el campo HMAC secret key y el resultado cambia de hash simple a HMAC. Funciona con SHA-1, SHA-256, SHA-384 y SHA-512; con MD5 la herramienta muestra un error.
printf 'hola' | openssl dgst -sha256 -hmac 'secreto'
# SHA2-256(stdin)= 066c767a010a01db3c26a63892788142a7add13214edfb9d6fb63a38cb2c1cce
hash_hmac('sha256', 'hola', 'secreto'); // PHP, mismo valor
crypto.createHmac('sha256', 'secreto').update('hola').digest('hex'); // Node.js, mismo valor
Para verificar un webhook, calcula el HMAC sobre el cuerpo de la petición tal como llegó, antes de parsear el JSON, y compáralo con la cabecera de firma usando una comparación de tiempo constante. Algunos proveedores envían la firma en Base64 o firman también una marca de tiempo, así que sigue su documentación.
Privacidad
Los hashes SHA se calculan con la Web Crypto API del navegador y el MD5 con una pequeña biblioteca de JavaScript, todo en tu equipo. Ni los textos, ni los archivos, ni las claves HMAC se envían a ningún sitio, así que puedes procesar documentos confidenciales o probar el secreto real de un webhook.
Frequently asked questions
¿Cómo genero un hash SHA-256 online?
Selecciona SHA-256 y escribe o pega el texto; el hash de 64 caracteres aparece al momento. Para un archivo, pulsa Hash a file y selecciónalo. No se sube nada.
¿Se puede desencriptar un hash MD5?
No, un hash es una función de un solo sentido, no un cifrado. Las webs de «MD5 decrypt» solo encuentran entradas débiles o cortas buscándolas en tablas precalculadas o probando candidatos.
¿Por qué mi SHA-256 no coincide con el de la terminal?
Normalmente la entrada difiere en un salto de línea: echo lo añade, así que usa printf. Revisa también espacios finales, saltos de línea de Windows y la codificación de caracteres.
¿Es seguro usar MD5?
Solo para detectar cambios accidentales, como descargas dañadas o claves de caché. Se pueden fabricar colisiones de MD5 a propósito, así que no debe usarse para seguridad, firmas ni contraseñas.
¿Qué es HMAC-SHA256?
Un código de autenticación de mensajes basado en SHA-256 y una clave secreta. Demuestra que el mensaje viene de alguien que conoce la clave y que no se modificó; se usa en firmas de webhooks y en los JWT HS256.
¿Qué diferencia hay entre SHA-256 y SHA-512?
SHA-256 produce 256 bits (64 caracteres hexadecimales) y SHA-512 produce 512 bits (128 caracteres). Ambos son seguros; SHA-512 puede ser más rápido en procesadores de 64 bits y SHA-256 es el más extendido.