Herramienta de identificación de hash (búsqueda inversa) | Detecta automáticamente MD5, SHA-1, SHA-256, SHA-512, SHA-3, BCrypt, Argon2

Pega una cadena que parezca un hash y esta herramienta calcula qué algoritmo —MD5, SHA-1, SHA-256, SHA-512, SHA-3, BCrypt o Argon2— es más probable que lo haya generado, según su longitud, conjunto de caracteres y prefijo. Todo el proceso se realiza íntegramente en el navegador.

El propio valor hash no registra el nombre del algoritmo utilizado para generarlo. Como varios algoritmos pueden compartir la misma longitud de salida, este resultado es la "suposición más probable" basada en la longitud, el conjunto de caracteres y el prefijo, no una conclusión 100% segura.

Consejos para identificar hashes

  • La identificación solo utiliza como pistas la longitud, el conjunto de caracteres (hexadecimal o Base64) y el prefijo; no vuelve a calcular el hash para verificarlo. Solo muestra los candidatos que se pueden inferir a partir del formato.
  • BCrypt ($2a$/$2b$/$2y$) y Argon2 ($argon2id$, etc.) incorporan el nombre del algoritmo y los parámetros directamente en el prefijo, por lo que se pueden identificar con alta confianza.
  • Una cadena hexadecimal de 64 caracteres suele ser SHA-256, pero SHA3-256 produce la misma longitud, así que si conoces el lenguaje o la librería del sistema de origen, ten en cuenta también esa información.
  • Los volcados de hash copiados en varias líneas (separados por saltos de línea o espacios) se limpian automáticamente de espacios en blanco internos antes de la identificación, así que puedes pegarlos tal cual.
  • Si no tienes confianza en el resultado, el método más fiable es revisar el origen del hash: el código fuente o la documentación de la aplicación.

Preguntas frecuentes

No, no solo a partir del valor hash. Algunos algoritmos, como SHA-256 y SHA3-256, producen salidas de exactamente la misma longitud, por lo que la salida por sí sola nunca puede ser concluyente. Si necesitas saberlo con certeza, tendrás que revisar el código fuente o la documentación de la aplicación que generó el hash.

BCrypt y Argon2 están diseñados específicamente para el almacenamiento de contraseñas y usan un "Modular Crypt Format" que incorpora el nombre del algoritmo y los parámetros como texto al principio del hash, como $2b$ o $argon2id$. Mientras se pueda leer esta información, el algoritmo se puede determinar de forma unívoca.

No, no puede. Esta herramienta solo estima el tipo de algoritmo a partir de la "apariencia" del valor hash; no ofrece ninguna función para recuperar los datos originales a partir de un hash, como un ataque de fuerza bruta.

La resistencia a colisiones de MD5 y SHA-1 ya ha sido vulnerada, así que si los encuentras usados para almacenar contraseñas, debes tratarlo como un riesgo de seguridad. Se recomienda migrar esos sistemas a BCrypt o Argon2id, diseñados específicamente para el almacenamiento de contraseñas.

Sí. Con la herramienta de este sitio Cálculo y comparación masiva de hashes, puedes introducir la misma cadena y calcular realmente sus valores MD5, SHA-1, SHA-256, SHA-512, SHA-3, BCrypt y Argon2id para contrastarlos con este resultado de identificación.
ツールくん

A propósito — Por qué un valor hash por sí solo no permite determinar el algoritmo

La función de una función hash es convertir los datos de entrada en una salida de longitud fija, y esa salida (el resumen o "digest") no contiene ningún metadato que indique qué algoritmo la produjo. Esto es una consecuencia inevitable de su diseño: incorporar metadatos cambiaría la longitud de la salida, rompiendo la propiedad de "longitud fija" esencial en una función hash criptográfica. Por eso lo único que nos queda como pista es la "apariencia" de la salida: su longitud y su conjunto de caracteres.

Esta limitación se manifiesta con mayor claridad en la relación entre las familias SHA-2 y SHA-3. SHA-256 y SHA3-256 tienen estructuras internas completamente distintas (SHA-2 usa una construcción Merkle–Damgård, SHA-3 usa una construcción esponja), pero ambas están diseñadas para producir una salida de 256 bits, es decir, 64 caracteres hexadecimales. La misma relación se da entre SHA-224/SHA3-224, SHA-384/SHA3-384 y SHA-512/SHA3-512, por lo que la longitud de salida por sí sola nunca permite determinar de cuál se trata. Dado que en la práctica SHA-2 es mucho más común, esta herramienta presenta la variante SHA-2 como candidato principal cuando las longitudes coinciden, aunque en última instancia se trata de una suposición estadística.

Por otro lado, algoritmos de hash de contraseñas como BCrypt y Argon2 resuelven esta ambigüedad adoptando un formato autodescriptivo conocido como Modular Crypt Format. Cadenas como $2b$12$... o $argon2id$v=19$... incorporan como texto, al principio del hash, el nombre del algoritmo, la versión y los parámetros, permitiendo reconstruir de forma unívoca cómo se calculó el valor con solo mirarlo. Cuando te encuentras con un hash de este formato, es posible una identificación definitiva.

Este tipo de trabajo de identificación surge en situaciones reales, como investigar volcados de contraseñas recuperados de sistemas heredados, o en retos de criptografía dentro de competiciones de seguridad CTF (Capture The Flag). Reducir las opciones de algoritmo a partir de un valor hash permite decidir con eficacia qué herramienta de análisis o enfoque de descifrado probar a continuación, como qué modo de ataque seleccionar en Hashcat.

→ Ver todas las curiosidades