UTILS.
100% en el navegador
🛡️

Generador y verificador de hash de contraseña Argon2

Calcula un hash de contraseña Argon2id/i/d con memoria, iteraciones y paralelismo configurables, o verifica una contraseña contra un hash codificado en PHC. Del lado del cliente.

Las contraseñas se hashean al 100 % en tu navegador — nada se sube.

— la salida aparece aquí —

Acerca de esta herramienta

El Generador y verificador de hash de contraseña Argon2 calcula y comprueba hashes Argon2 enteramente en tu navegador. Argon2 ganó el Password Hashing Competition de 2015 y está estandarizado en RFC 9106; a diferencia de bcrypt es memory-hard, lo que significa que su coste está dominado por el uso de RAM, lo que frustra a los equipos de descifrado con GPU y ASIC. El modo de generación extrae 16 bytes de sal aleatorios de crypto.getRandomValues y ejecuta la variante seleccionada con tus parámetros: t iteraciones (coste de tiempo), m memoria en KiB, p paralelismo (carriles), y la longitud del hash de salida en bytes.

Se ofrecen tres variantes. Argon2id (la predeterminada y la elección recomendada por el RFC) es un híbrido que resiste tanto los ataques de canal lateral como los de compromiso tiempo-memoria; Argon2i está optimizado contra fugas de canal lateral; Argon2d maximiza la resistencia al descifrado con GPU pero no es seguro frente a canal lateral. El resultado es una cadena PHC autodescriptiva de la forma $argon2id$v=19$m=65536,t=3,p=1$<sal en base64>$<hash en base64>, así que todos los parámetros necesarios para verificar viajan dentro del hash. Los valores predeterminados (t=3, m=65536 KiB = 64 MiB, p=1) siguen el segundo perfil recomendado del RFC 9106.

Como el trabajo se ejecuta como una compilación WebAssembly sin eval bajo la estricta política de seguridad del navegador, la memoria se asigna en la página: los valores m muy altos son intensivos en RAM y pueden ser lentos en teléfonos, así que la herramienta avisa por encima de 256 MiB. El modo de verificación analiza la variante, versión, m/t/p, sal y digest de un hash codificado, recalcula con la contraseña candidata, e informa de coincidencia o no coincidencia. Las contraseñas se hashean al 100 % en tu navegador y nada se sube.

Preguntas frecuentes

¿Qué variante de Argon2 debería usar?
Argon2id es la predeterminada y la recomendación del RFC 9106 para el hasheo de contraseñas: combina la resistencia a canal lateral de Argon2i con la resistencia al descifrado con GPU de Argon2d. Usa Argon2i solo si necesitas específicamente acceso a memoria independiente de los datos, y Argon2d solo en entornos sin riesgo de canal lateral.
¿Qué hacen los ajustes de memoria, iteraciones y paralelismo?
La memoria (m, en KiB) es la RAM que llena el hash: el principal motor de coste. Las iteraciones (t) son cuántas pasadas se hacen sobre esa memoria. El paralelismo (p) es el número de carriles calculados a la vez. Mayores m y t significan hashes más fuertes y lentos; los predeterminados son m=65536 (64 MiB), t=3, p=1.
¿Por qué un ajuste de memoria alto es lento o no responde?
Argon2 realmente asigna la memoria solicitada en tu navegador, así que un valor como 1 GiB (1048576 KiB) puede atascarse o fallar en dispositivos con poca RAM. La herramienta avisa por encima de 256 MiB. Reduce m si la generación se cuelga; los parámetros se almacenan en el hash de todos modos.
¿El hash contiene todo lo necesario para verificarlo?
Sí. La salida codificada en PHC incrusta la variante, versión, parámetros m/t/p, sal y digest, así que la verificación solo necesita la contraseña y esa única cadena. Nada se envía a ningún sitio: tanto el hasheo como la verificación se ejecutan localmente mediante WebAssembly.

Más herramientas