Saltar al contenido
MyDevToolbox

Validador Bcrypt / Argon2

En el servidor

Genera y verifica contraseñas con bcrypt y Argon2.

Procesado de forma segura en nuestro servidor · Las entradas se guardan solo en este navegador, si lo permites

Generar un hash

Cada +1 duplica el tiempo. 10–12 es lo habitual; apunta a unos 250 ms en tus servidores.

Verificar una contraseña

🔒 Las contraseñas se envían por HTTPS, se procesan en memoria y nunca se registran ni se guardan. Evita pegar contraseñas reales de producción en cualquier herramienta online.

Por qué las contraseñas necesitan un hash especial

Los hashes rápidos como SHA-256 son ideales para checksums pero pésimos para contraseñas: una GPU moderna calcula miles de millones por segundo, así que una base de datos filtrada con hashes rápidos se puede atacar por fuerza bruta en poco tiempo. bcrypt y Argon2 son funciones de hash de contraseñas deliberadamente lentas y con sal. Cada hash incluye una sal aleatoria y sus parámetros de coste, de modo que contraseñas idénticas producen hashes distintos y puedes subir el coste con los años a medida que el hardware se vuelve más rápido.

¿bcrypt o Argon2id?

  • Argon2id ganó la Password Hashing Competition y es la primera opción en la guía de almacenamiento de contraseñas de OWASP. Su coste en memoria encarece los ataques con GPU y ASIC. Un buen punto de partida es 19–64 MiB de memoria, 2–3 iteraciones y paralelismo 1–4.
  • bcrypt está probadísimo y disponible en todas partes. Usa un factor de coste de al menos 10 (12 es lo habitual) y recuerda que solo tiene en cuenta los primeros 72 bytes de la contraseña; esta herramienta te avisa cuando superas ese límite.

Cómo leer un hash

Un hash bcrypt como $2b$12$… guarda la versión (2b) y el coste (12) antes de la sal y el resumen. Un hash Argon2 como $argon2id$v=19$m=65536,t=3,p=4$… guarda la variante, la versión, la memoria en KiB, las iteraciones y el paralelismo. El verificador detecta el algoritmo automáticamente y muestra estos parámetros.

Ejemplos prácticos

  • Depurar un fallo de login: pega el hash de tu base de datos y la contraseña de tu cuenta de prueba para confirmar si el problema está en el hash guardado o en el código de tu aplicación.
  • Poblar una base de datos de pruebas: genera el hash de un usuario de fixtures sin escribir un script.
  • Ajustar el coste: observa el tiempo indicado y elige parámetros que tarden unos 250 ms en tu hardware.

Seguridad y privacidad

El hashing se ejecuta en nuestro servidor porque estos algoritmos necesitan implementaciones nativas y de tiempo constante. Las peticiones viajan por HTTPS, se procesan en memoria y nunca se registran ni se guardan, y las respuestas se marcan como no almacenables en caché. Los parámetros tienen límites y las peticiones están limitadas en frecuencia para proteger el servicio. Aun así, considera cualquier herramienta online como no confiable para contraseñas reales de producción: usa credenciales de prueba siempre que puedas.