Identificador de hash

Pega un hash para ver qué algoritmos podrían haberlo generado, ordenados por probabilidad. La herramienta reconoce resúmenes en hexadecimal y Base64 y formatos de hash de contraseñas, y puede comprobar una suposición con tu propio texto.

Se ejecuta por completo en tu navegador. No se sube nada.

Cómo se usa

  1. Pega un solo hash. Quita etiquetas como 0x, sha256= o sha384-, pero deja completos los hashes de contraseñas, incluido el $, { o * inicial.
  2. Lee el resultado: la forma detectada y su tamaño en bits y, después, los Posibles algoritmos, con los más probables marcados. Si la cadena los contiene, también se muestran el factor de coste de bcrypt o las rondas de sha256crypt, sha512crypt y PBKDF2.
  3. Para los candidatos MD5, SHA-1, SHA-256, SHA-512, CRC-32 y CRC-32C, Abrir herramienta te lleva a la calculadora correspondiente.
  4. Si conoces o sospechas cuál es el texto original, escríbelo en Comprobar con un texto para ver qué algoritmo reproduce el hash.

Cómo se identifica un hash

Cada algoritmo de hash tiene un tamaño de salida fijo, y el hexadecimal usa dos caracteres por byte, así que la longitud de una cadena hexadecimal es la pista más sólida. La herramienta también comprueba el juego de caracteres y busca los prefijos que los formatos de hash de contraseñas colocan al principio.

Caracteres hexadecimalesBitsAlgoritmos habituales
832CRC-32, CRC-32C y Adler-32
32128MD5, NTLM y MD4
40160SHA-1 y RIPEMD-160
56224SHA-224 y SHA3-224
64256SHA-256, SHA3-256, BLAKE2s y Keccak-256
96384SHA-384 y SHA3-384
128512SHA-512, SHA3-512, BLAKE2b y Whirlpool

La longitud por sí sola no basta para decidir, porque un buen hash parece datos aleatorios y no lleva ninguna marca de su algoritmo. Un valor de 32 caracteres podría ser MD5, MD4 o NTLM, el formato que usa Windows para las contraseñas de las cuentas (MD4 de la contraseña en UTF-16LE). Por eso la herramienta ordena los candidatos según lo habituales que son: primero MD5, o primero NTLM cuando el hash está todo en mayúsculas, que es como lo muestran algunas herramientas de volcado de contraseñas de Windows. Del mismo modo, el Keccak-256 de Ethereum y el SHA3-256 estandarizado solo se diferencian en el relleno, pero ambos dan 64 caracteres hexadecimales.

Resúmenes en Base64 y formatos de hash de contraseñas

Algunos sistemas escriben los resúmenes en Base64 en lugar de en hexadecimal: 24 caracteres para 16 bytes (MD5, como en el encabezado Content-MD5), 28 para SHA-1, 44 para SHA-256, 64 para SHA-384 (como en los atributos de Subresource Integrity) y 88 para SHA-512. La herramienta vuelve a convertir la longitud en bytes y muestra los mismos candidatos. Se aceptan la falta de relleno y los caracteres seguros para URL, pero antes quita cualquier prefijo como sha384-.

Los formatos de hash de contraseñas se describen a sí mismos: un prefijo indica el algoritmo, y la sal y los parámetros de coste van escritos dentro de la cadena. Los formatos modernos usan sal y son lentos a propósito; los formatos de LDAP y MySQL de las dos últimas filas son construcciones rápidas basadas en SHA-1, y solo {SSHA} añade sal.

Empieza porFormatoDónde suele encontrarse
$2a$, $2b$, $2y$bcrypt, siempre de 60 caracteres; los dos dígitos siguientes son el factor de coste, y cada paso duplica el trabajoFrameworks web, password_hash() de PHP
$argon2id$Argon2id con parámetros de memoria (m), tiempo (t) y paralelismo (p)Aplicaciones modernas; recomendado por OWASP
$6$, $5$sha512crypt, sha256crypt, con rounds= opcional/etc/shadow en Linux
$y$yescrypt/etc/shadow en muchas distribuciones Linux actuales
$1$, $apr1$md5crypt, Apache MD5Sistemas Unix antiguos, .htpasswd
pbkdf2_sha256$PBKDF2-SHA256 con su número de iteracionesDjango
{SHA}, {SSHA}SHA-1, SHA-1 con salDirectorios LDAP
* y 40 dígitos hexadecimalesMySQL 4.1+ PASSWORD()Tablas de usuarios de MySQL

Identificar un hash no es romperlo

Un hash es unidireccional. El identificador solo analiza la forma de la cadena: no puede revelar, descifrar ni buscar la entrada, y no envía nada a ningún servidor ni a ninguna base de datos en línea. La única manera de encontrar una entrada es probar candidatos y calcular el hash de cada uno, que es lo que hacen herramientas de recuperación de contraseñas como hashcat y John the Ripper una vez que conocen el algoritmo. Los formatos lentos y con sal, como bcrypt y Argon2, existen precisamente para que ese proceso de adivinación resulte costoso. Analiza solo hashes con los que tengas autorización para trabajar.

Comprobar con un texto prueba una suposición concreta. Calcula el hash del texto que escribes, como UTF-8, con MD5, SHA-1, SHA-256, SHA-384, SHA-512, CRC-32 y CRC-32C, y te indica qué resultado es igual al hash, tanto si está escrito en hexadecimal, en mayúsculas o en minúsculas, como en Base64. No puede confirmar hashes de contraseñas con sal ni HMAC, porque estos también dependen de una sal o de una clave secreta; para un valor con clave, usa el generador HMAC con esa clave.

Preguntas frecuentes

¿Puede esta herramienta decirme el texto o la contraseña original?

No. Solo indica el algoritmo probable. Las funciones hash no se pueden invertir; los "descifradores de hash" en línea buscan el valor en tablas de hashes de palabras comunes y de contraseñas filtradas, lo que solo funciona con entradas débiles y sin sal.

¿Por qué aparecen varios algoritmos para un mismo hash?

Los algoritmos con el mismo tamaño de salida producen cadenas de la misma longitud y con el mismo juego de caracteres, y nada dentro del hash indica cuál se usó. El candidato más probable aparece marcado en primer lugar, según lo habitual que sea cada algoritmo. Para estar seguro, vuelve a calcular el hash a partir de una entrada conocida.

¿Una cadena hexadecimal de 32 caracteres es siempre MD5?

Normalmente sí, pero no siempre. NTLM, MD4, MD2 y RIPEMD-128 dan la misma longitud, igual que cualquier valor de 128 bits escrito en hexadecimal, como un UUID sin guiones o un token aleatorio. El contexto decide: un hash de contraseña de Windows apunta a NTLM; la suma de verificación de un archivo, a MD5.

¿Por qué Comprobar con un texto no encuentra ninguna coincidencia?
El texto debe coincidir byte a byte. Las causas habituales son un salto de línea final (echo añade uno salvo que uses echo -n o printf), diferencias en los espacios o en las mayúsculas y minúsculas, un texto cuyo hash se calculó en una codificación distinta de UTF-8, una sal o una clave, como en los hashes de contraseñas y los HMAC, o un algoritmo que la comprobación no cubre, como SHA-3, BLAKE2 o NTLM.
¿Es seguro pegar aquí un hash de contraseña?

El análisis se realiza por completo en tu navegador y el hash no se transmite ni se almacena. Aun así, un hash de contraseña de un sistema real permite a cualquiera que lo tenga probar contraseñas sin conexión, así que trata esos hashes como información confidencial y no los incluyas en tickets, chats ni capturas de pantalla.