Generador de hashes

Se ejecuta en tu navegador; no se sube nada

Hashes y HMAC MD5, SHA-1, SHA-256, SHA-384 y SHA-512 de un texto o un archivo, con comprobación contra un hash que ya tengas.

Input

Hashes

Nothing to hash yet

Type or paste text on the left, or open a file to hash its bytes.
Ready
Hex

¿Qué es un hash?

Una función hash convierte cualquier entrada en una huella de longitud fija. La misma entrada da siempre el mismo hash, un cambio de un solo byte da uno completamente distinto, y a partir del hash no se puede volver a la entrada. MD5 produce 128 bits, SHA-1 160, y SHA-256, SHA-384 y SHA-512 el número de bits de su nombre, que aquí se muestran en hexadecimal o Base64.

Los desarrolladores usan hashes para comprobar que unos datos no han cambiado: una página de descarga publica un checksum SHA-256 para que confirmes que el archivo que recibiste es el que se publicó. Un HMAC es un hash mezclado con una clave secreta. Los proveedores de webhooks y muchas APIs firman cada petición con HMAC-SHA256, y quien la recibe calcula el mismo HMAC sobre el cuerpo en bruto para demostrar que la petición es auténtica.

MD5 y SHA-1 están rotos en cuanto a seguridad: un atacante puede fabricar dos entradas distintas con el mismo hash. Siguen sirviendo para detectar cambios accidentales, pero usa SHA-256 o algo más fuerte para cualquier cosa que alguien pueda intentar falsificar. Un hash simple tampoco es la forma correcta de guardar contraseñas; para eso hace falta un algoritmo lento y con sal, como Argon2, scrypt o bcrypt.

Cómo usar esta herramienta

  1. 1Escribe o pega texto en el panel Input. Se procesa como UTF-8, y los hashes se actualizan mientras escribes.
  2. 2Para calcular el hash de un archivo, elige Hash a file (Ctrl+O) o arrastra el archivo a la entrada. Los bytes del archivo se procesan exactamente como están en el disco, en tu navegador.
  3. 3Elige la salida: hexadecimal, hexadecimal en mayúsculas o Base64. Copia un hash con el botón de su fila, o todos con Copy all.
  4. 4Para un HMAC, cambia el modo a HMAC e introduce la clave, como texto o como bytes en hexadecimal.
  5. 5Para comprobar un hash que te han dado, pégalo en Compare. La herramienta indica con qué algoritmo coincide, tanto si pegas hexadecimal, Base64 o una línea de un archivo de checksums.

Solución de problemas

Mi hash no coincide con el de la línea de comandos
Los hashes cubren bytes exactos. echo añade un salto de línea, así que usa echo -n o printf. Un espacio al final o una codificación distinta también cambian el resultado.
Un texto con finales de línea de Windows da otro hash
Los navegadores convierten en \n los finales de línea del texto de un editor, así que el texto pegado se procesa con finales LF. Para calcular el hash de los bytes exactos de un archivo con finales CRLF, abre el archivo en lugar de pegarlo.
La firma de mi webhook no coincide
Calcula el HMAC sobre el cuerpo en bruto de la petición exactamente como llegó, antes de analizar o reformatear el JSON, con la misma clave y el mismo algoritmo. Algunos proveedores envían la firma en Base64 y otros en hexadecimal; Compare acepta ambos.
La clave no es hexadecimal válido
En modo hexadecimal la clave debe ser pares de dígitos 0–9 y a–f. Cambia el formato de la clave a texto para usar sus caracteres como UTF-8.

Preguntas frecuentes

¿Se envía mi texto o mi archivo a un servidor?

No. SHA-1 y los hashes SHA-2 los calcula la API Web Crypto de tu navegador, y MD5 un código de la propia página. Los archivos se leen en el navegador, hasta 200 MB, y nada sale de tu dispositivo.

¿Puedo revertir o descifrar un hash?

No. El hash es de un solo sentido. Las webs que dicen revertir MD5 buscan el hash en tablas de hashes de palabras y contraseñas comunes, lo que solo funciona con entradas débiles.

¿Qué algoritmo debo usar?

SHA-256 para checksums, firmas y cualquier cosa relacionada con la seguridad. SHA-384 y SHA-512 también son seguros. Usa MD5 o SHA-1 solo donde un sistema existente los exija.