Argon2 Generador de Hash

Herramienta gratuita de Argon2 Generador de Hash en línea. Procesamiento 100% local — tus datos nunca salen de tu dispositivo.

General
Password Hashing / KDF
Specialized
Deprecated
KiB
iterations

Verify: input format is "password|hash"

Salida

El resultado se mostrará aquí...

Entrada Calcular Hash

Usage Guide

Acerca de Argon2

Argon2 es el ganador del Password Hashing Competition 2015, diseñado por la Universidad de Luxemburgo. Es actualmente el algoritmo de hash de contraseñas más seguro, recomendado por organizaciones autoritativas como OWASP y NIST para el almacenamiento de contraseñas. Argon2 tiene tres variantes: Argon2d (resistente a GPU), Argon2i (resistente a canales laterales) y Argon2id (modo híbrido, recomendado). A diferencia de los algoritmos hash tradicionales, Argon2 tiene costos computacionales y consumo de memoria ajustables, resistiendo eficazmente ataques de fuerza bruta, GPU y ASIC.

Recomendado por OWASP: Argon2id es el algoritmo preferido en la Hoja de trucos de almacenamiento de contraseñas de OWASP. Combina la resistencia a GPU de Argon2d con la resistencia a ataques de canal lateral de Argon2i, proporcionando la protección de seguridad más completa. Recomendado para el almacenamiento de contraseñas de todos los nuevos proyectos.

Pasos de uso

Argon2 admite dos operaciones: hash de contraseñas y verificación:

1. Seleccionar modoElegir el modo 'Cifrar' para hacer hash de contraseñas, o el modo 'Descifrar' para verificar contraseñas
2. Ingresar contraseñaCompletar la contraseña a hashear o verificar en el cuadro de entrada
3. Calcular hashHacer clic en 'Calcular hash', Argon2 generará automáticamente sal aleatoria y calculará el hash
4. Guardar resultadoCopiar la cadena hash completa (incluyendo parámetros del algoritmo, sal y hash) para almacenar en la base de datos
5. Verificar contraseñaPara verificación, ingresar la contraseña original y la cadena hash completa, el sistema extraerá automáticamente los parámetros y verificará
Protección de privacidad: Todos los cálculos se realizan localmente en su navegador, los datos nunca se cargan a servidores, procesamiento completamente sin conexión.

Características del algoritmo

Argon2 está diseñado específicamente para el almacenamiento de contraseñas con las siguientes ventajas únicas:

Intensivo en memoriaRequiere gran memoria (64MB por defecto), haciendo que los ataques de GPU y ASIC sean extremadamente costosos
Costo ajustablePuede ajustar el costo de tiempo (iteraciones), costo de memoria y paralelismo para satisfacer diferentes necesidades de seguridad
Resistente a canales lateralesArgon2i y Argon2id resisten ataques de temporización de caché y otros ataques de canal lateral
Salado automáticoGeneración de sal aleatoria incorporada, no se necesita gestión manual de sal
VersionadoLa cadena hash incluye versión del algoritmo y parámetros, facilitando futuras actualizaciones y migraciones
Configuración de parámetros: La seguridad de Argon2 depende de la configuración de parámetros. OWASP recomienda: costo de memoria ≥ 47MB (m=47104), costo de tiempo ≥ 1 iteración (t=1), paralelismo = 1 (p=1). Si el rendimiento del servidor lo permite, aumentar el costo de memoria a 64MB o más. Evitar usar parámetros demasiado bajos, ya que reduce la seguridad.

Comparación de tres variantes

Argon2 tiene tres variantes adecuadas para diferentes escenarios:

Argon2dDependiente de datos, más resistente a GPU/ASIC, pero vulnerable a ataques de canal lateral, adecuado para minería de criptomonedas
Argon2iIndependiente de datos, resistente a canales laterales, pero resistencia a GPU ligeramente más débil, adecuado para hash de contraseñas
Argon2idModo híbrido (recomendado), combina ventajas de ambos, resistente tanto a GPU como a canales laterales, adecuado para todos los escenarios
Elección recomendada: A menos que tenga necesidades especiales, siempre use Argon2id. Es la recomendación unánime de OWASP, NIST y expertos en criptografía, proporcionando la protección de seguridad más completa.

FAQ

Q: ¿Cuál es la diferencia entre Argon2 y bcrypt/PBKDF2?

A: Argon2: Algoritmo moderno (2015), intensivo en memoria, resistente a GPU/ASIC, preferido por OWASP. bcrypt: Algoritmo clásico (1999), intensivo en cómputo, resistencia moderada a GPU, ampliamente usado pero gradualmente siendo reemplazado por Argon2. PBKDF2: Algoritmo estándar (2000), intensivo en cómputo, vulnerable a ataques de GPU, requiere iteraciones extremadamente altas (≥ 600k) para seguridad. Comparación de rendimiento: Al mismo nivel de seguridad, Argon2 es 2-3x más rápido que bcrypt y 10x+ más rápido que PBKDF2. Recomendación: Usar Argon2id para nuevos proyectos, migrar gradualmente proyectos existentes a Argon2.

Q: ¿Cómo deben configurarse los parámetros de Argon2?

A: Configuración recomendada por OWASP: Costo de memoria (m): 47104 KB (aproximadamente 47MB), puede aumentarse a 64MB o más si el rendimiento del servidor es bueno. Costo de tiempo (t): 1-3 iteraciones, generalmente 1 es suficiente. Paralelismo (p): 1 (un solo hilo), evitar ataques paralelos. Longitud del hash: 32 bytes (256 bits). Método de ajuste: Probar en entorno de desarrollo, asegurar que un solo hash tome 0,5-1 segundos, luego ajustar según el rendimiento del servidor. Nota: Parámetros más altos significan más seguridad, pero aumentan la carga del servidor y el tiempo de respuesta.

Q: ¿Por qué Argon2 es más adecuado para el almacenamiento de contraseñas que SHA-256?

A: SHA-256 es una función hash de propósito general diseñada para cómputo rápido, lo cual es una debilidad fatal en escenarios de almacenamiento de contraseñas. Las GPU pueden calcular miles de millones de hashes SHA-256 por segundo, haciendo que incluso las contraseñas con sal sean vulnerables a ataques de fuerza bruta. Ventajas de Argon2: 1) Diseño lento: Un solo hash toma 0,5-1 segundos, reduciendo dramáticamente la velocidad de fuerza bruta. 2) Intensivo en memoria: Requiere gran memoria (64MB), las GPU y ASIC no pueden paralelizar ataques. 3) Costo ajustable: A medida que mejora el hardware, los parámetros pueden aumentarse para mantener la seguridad. Conclusión: El almacenamiento de contraseñas debe usar algoritmos especializados de hash de contraseñas (Argon2, bcrypt, PBKDF2), no funciones hash de propósito general (SHA-256, MD5).

Q: ¿Cuál es el formato de cadena hash de Argon2?

A: Argon2 usa el formato de cadena PHC (Password Hashing Competition): $argon2id$v=19$m=65536,t=3,p=1$saltbase64$hashbase64.
Significados de los componentes:
$argon2id: Variante del algoritmo (id/i/d).
v=19: Versión del algoritmo (actualmente 19).
m=65536,t=3,p=1: Costo de memoria (KB), costo de tiempo (iteraciones), paralelismo.
saltbase64: Sal codificada en Base64 (16 bytes).
hashbase64: Hash codificado en Base64 (32 bytes).
Ventaja: Autocontenido con todos los parámetros, no se necesita almacenamiento adicional para verificación, facilita futuras actualizaciones.

Q: ¿Cómo migrar de bcrypt a Argon2?

A: Enfoque de migración progresiva: 1) Verificación dual: Mantener la lógica de verificación de bcrypt, usar Argon2 para nuevos usuarios y cambios de contraseña. 2) Actualización transparente: Cuando los usuarios inician sesión, verificar primero con bcrypt, luego inmediatamente rehashear con Argon2 y actualizar la base de datos al tener éxito. 3) Campo identificador: Agregar campo de base de datos para identificar el tipo de algoritmo hash (bcrypt/argon2). 4) Migración completa: Después de algún tiempo (p.ej., 6 meses), la mayoría de los usuarios activos han migrado, se puede forzar a los usuarios restantes a restablecer contraseñas. Nota: bcrypt y Argon2 tienen diferentes formatos de hash, pueden identificarse automáticamente por prefijo ($2a$ vs $argon2id$).

Q: ¿No será Argon2 demasiado lento en los navegadores?

A: El objetivo de diseño de Argon2 es cómputo lento, lo cual es una garantía de seguridad, no un defecto. Usando WebAssembly para calcular Argon2 en navegadores, un solo hash toma 0,5-1 segundos, lo que tiene un impacto mínimo en la experiencia del usuario (los usuarios esperando 1 segundo después de ingresar la contraseña es aceptable). Sugerencias de optimización: 1) Cómputo asíncrono: Usar Web Workers para calcular en segundo plano, evitar bloquear la UI. 2) Indicador de progreso: Mostrar mensaje “Cifrando...” para mejorar la experiencia del usuario. 3) Ajuste de parámetros: El entorno del navegador puede reducir moderadamente el costo de memoria (p.ej., 32MB), pero no bajar de la recomendación mínima de OWASP (47MB). Nota: La verificación del lado del servidor también requiere el mismo tiempo de cómputo, que es el mecanismo de seguridad central de Argon2.

Use Cases

Recomendado: Almacenamiento de contraseñas de usuario

Este es el caso de uso principal de Argon2. Cuando los usuarios se registran o cambian contraseñas, usar Argon2id para hashear contraseñas y almacenar en la base de datos. Durante el inicio de sesión, extraer la cadena hash almacenada, hashear la contraseña ingresada por el usuario con los mismos parámetros, luego comparar resultados. Las características intensivas en memoria de Argon2 hacen que los ataques de fuerza bruta sean extremadamente costosos, protegiendo las contraseñas de usuario incluso si la base de datos es comprometida.

Recommended Configuration:
  • ✅ Argon2id (recomendado por OWASP, preferido)
  • bcrypt (elección clásica, factor de costo ≥ 12)
  • PBKDF2-SHA256 (≥ 600k iteraciones)
  • ❌ No usar SHA-256, MD5 u otros hashes de propósito general
Recomendado: Hash de claves API

Las claves API (como API Tokens, Access Keys) típicamente necesitan almacenarse en la base de datos pero no deben almacenarse en texto plano. Usar Argon2 para hashear claves API; incluso si la base de datos es comprometida, los atacantes no pueden obtener las claves originales. Para verificación, hashear la clave proporcionada por el usuario y comparar. Nota: Las claves API son generalmente cadenas de alta entropía generadas aleatoriamente, pueden reducir moderadamente los parámetros de Argon2 (p.ej., t=1, m=32MB) para mejorar el rendimiento.

Recommended Configuration:
  • ✅ Argon2id (alta seguridad)
  • bcrypt (equilibrar rendimiento y seguridad)
  • SHA-256 + sal (utilizable para claves de alta entropía)
  • 💡 Considerar usar indexación de prefijo hash para acelerar consultas
Recomendado: Carteras de criptomonedas

Las carteras de criptomonedas necesitan contraseñas para proteger las claves privadas. Usar Argon2d (dependiente de datos) para derivar la clave de cifrado de la contraseña del usuario, luego usar esa clave para cifrar la clave privada. La resistencia a GPU de Argon2d hace que la fuerza bruta de contraseñas de cartera sea extremadamente costosa. Nota: Los escenarios de cartera típicamente usan Argon2d en lugar de Argon2id porque el riesgo de ataque de canal lateral es menor, mientras que la resistencia a GPU es más importante.

Recommended Configuration:
  • ✅ Argon2d (resistente a GPU, recomendado para carteras)
  • ✅ Argon2id (seguridad más completa)
  • scrypt (elección clásica, usado por Bitcoin Core)
  • 💡 Combinar con carteras de hardware para mayor seguridad
Recomendado: Derivación de clave de cifrado de archivos

Usar Argon2 para derivar la clave de cifrado de archivos de la contraseña del usuario. Después de que el usuario proporciona la contraseña, Argon2 genera una clave de longitud fija (p.ej., 256 bits), luego usar esa clave para cifrar el archivo (p.ej., usando AES-256-GCM). La sal y los parámetros de Argon2 se almacenan en el encabezado del archivo; durante el descifrado, se extraen los parámetros y se vuelve a derivar la clave. Este enfoque se usa ampliamente en archivos cifrados (como 7-Zip, WinRAR) y cifrado de disco (como VeraCrypt).

Recommended Configuration:
  • ✅ Argon2id (recomendado)
  • ✅ Argon2i (resistente a canales laterales)
  • scrypt (elección clásica)
  • 💡 Almacenar sal y parámetros en el encabezado del archivo
Recomendado: Códigos de respaldo de autenticación de dos factores

Los códigos de respaldo de autenticación de dos factores (2FA) necesitan hashearse antes del almacenamiento para prevenir el abuso si la base de datos es comprometida. Dado que los códigos de respaldo son cadenas de alta entropía generadas aleatoriamente (típicamente 8-16 caracteres), se pueden usar parámetros de Argon2 más bajos (p.ej., t=1, m=32MB) para mejorar el rendimiento. Durante la verificación, hashear el código de respaldo ingresado por el usuario y comparar; invalidar inmediatamente el código de respaldo tras la verificación exitosa.

Recommended Configuration:
  • ✅ Argon2id (recomendado)
  • bcrypt (mejor rendimiento)
  • SHA-256 + sal (utilizable para códigos de respaldo de alta entropía)
  • 💡 Invalidar el código de respaldo inmediatamente después de su uso
No recomendado: Escenarios sensibles al rendimiento en tiempo real

Las características lentas de Argon2 lo hacen inadecuado para escenarios que requieren rendimiento extremadamente alto, como autenticación de API de alta frecuencia, inicio de sesión en juegos en tiempo real, autenticación de dispositivos IoT, etc. Estos escenarios deben usar autenticación basada en tokens (como JWT, OAuth) o gestión de sesiones, en lugar de hash de contraseñas para cada solicitud. Argon2 solo se usa una vez durante el inicio de sesión del usuario; después de la verificación exitosa, se emite un token, las solicitudes posteriores usan autenticación de token.

Recommended Configuration:
  • ✅ JWT + HMAC-SHA256 (alto rendimiento)
  • ✅ Session + Cookie (enfoque tradicional)
  • ✅ OAuth 2.0 (protocolo estándar)
  • ❌ No usar Argon2 en escenarios de alta frecuencia

Recomendaciones de mejores prácticas

  • Argon2id es la mejor opción para el almacenamiento de contraseñas, recomendado para todos los nuevos proyectos. Los proyectos existentes deben migrar gradualmente de bcrypt/PBKDF2 a Argon2.
  • La configuración de parámetros sigue las recomendaciones de OWASP: m ≥ 47MB, t ≥ 1, p = 1. Si el rendimiento del servidor es bueno, se puede aumentar el costo de memoria a 64MB o más.
  • No usar Argon2 en escenarios de alta frecuencia; debe combinarse con autenticación de token (JWT, Session) para alto rendimiento.
  • Al migrar desde bcrypt, usar enfoque progresivo: mantener verificación bcrypt, usar Argon2 para nuevos usuarios y cambios de contraseña, actualizar transparentemente durante el inicio de sesión.
  • El entorno del navegador usa WebAssembly para calcular Argon2, combinar con Web Workers e indicadores de progreso para mejorar la experiencia del usuario.

Discusión y Comentarios

0 comentarios
Yo