Generador de Hash

¿Qué es una función hash?

Una función hash toma cualquier entrada y produce una cadena de caracteres de longitud fija — la misma entrada siempre produce el mismo hash, pero incluso un cambio mínimo en la entrada produce un hash completamente distinto. Los hashes son de un solo sentido: no puedes reconstruir la entrada original a partir del hash.

MD5 vs. SHA — ¿cuál debería usar?

MD5 y SHA-1 se consideran criptográficamente rotos — se han demostrado colisiones (dos entradas distintas que producen el mismo hash) para ambos, así que ninguno debería usarse para almacenar contraseñas, firmas digitales, ni en nada donde la seguridad importe. Siguen siendo útiles para fines no relacionados con seguridad, como verificaciones de integridad de archivos o generar una huella rápida de un texto. Para cualquier cosa sensible en términos de seguridad, usa SHA-256 o SHA-512 — no se conoce ningún ataque de colisión práctico contra ninguno de los dos.

Usos comunes

Preguntas frecuentes

¿Se puede desencriptar un hash MD5 o SHA-256?

No. Un hash no es una forma de encriptación — es una función de un solo sentido, así que no existe ningún proceso de "desencriptado" que recupere el texto original a partir del hash. Lo que sí existen son bases de datos ("rainbow tables") que buscan un hash entre textos comunes ya calculados de antemano, pero eso solo funciona si el texto original era simple y predecible — no es una desencriptación real, y no funciona en absoluto contra una contraseña larga y aleatoria.

¿Es seguro usar MD5 para contraseñas?

No. MD5 es rápido de calcular, que es exactamente la propiedad incorrecta para el hash de contraseñas — hace que los ataques de fuerza bruta sean baratos. Usa en su lugar un algoritmo dedicado para contraseñas como bcrypt, scrypt o Argon2, que son deliberadamente lentos y usan salt.

¿Esta herramienta genera hashes bcrypt?

No. bcrypt (y algoritmos similares como scrypt y Argon2) funcionan de forma distinta a MD5 o SHA — requieren un salt aleatorio y un factor de trabajo configurable, y son deliberadamente lentos, así que no existe "el" hash bcrypt de X de la misma forma que existe un único hash MD5 o SHA-256. Esa aleatoriedad y costo incorporados son justamente lo que los hace adecuados para guardar contraseñas. Esta herramienta se limita a las funciones hash fijas y deterministas que Web Crypto soporta de forma nativa.

¿Esta herramienta genera hashes NTLM o NT?

Actualmente no. Un hash NT (usado por Windows) es MD4 de la contraseña codificada en UTF-16LE, y la autenticación NTLM es un protocolo de desafío-respuesta construido sobre ese hash — no es algo que se calcule de forma aislada como MD5 o SHA-256. Ninguno de los dos está soportado por esta herramienta hoy.

¿Por qué esta herramienta calcula el hash en mi navegador?

SHA-1/256/384/512 usan crypto.subtle.digest() de la Web Crypto API, integrada en todos los navegadores modernos. MD5 (no implementado por SubtleCrypto, ya que está en desuso para fines de seguridad) usa una pequeña implementación local. En cualquier caso, el texto que escribes nunca sale de tu navegador.

¿Cuál es la diferencia entre SHA-256 y SHA-512?

Ambos forman parte de la familia SHA-2 y se consideran seguros. SHA-512 produce una salida más larga (512 bits frente a 256) y suele ser más rápido en sistemas de 64 bits a pesar de hacer más trabajo por bloque, debido a cómo su tamaño de palabra interno coincide con los registros de CPU de 64 bits.