Convertidor Gratuito

Generador de Contraseñas Bcrypt

Genera hashes bcrypt seguros para contraseñas al instante en tu navegador. Elige tu factor de coste y hashea contraseñas en el cliente — completamente privado y gratuito.

Acerca de esta herramienta

bcrypt es una función de hash de contraseñas diseñada por Niels Provos y David Mazières en 1999, derivada del cifrado Blowfish. A diferencia de las funciones hash de propósito general como SHA-256, bcrypt es deliberadamente lento (y configurable lento, a través de un parámetro de costo), que es exactamente la propiedad que necesita un hasher de contraseñas. Una función hash más rápida permite a los atacantes aplicar fuerza bruta a más candidatos por segundo; uno más lento los limita.

bcrypt también incorpora sal por contraseña automáticamente, eliminando toda una clase de ataques basados en tablas Rainbow precalculadas. El parámetro salt y cost se almacenan como parte de la salida de bcrypt, por lo que la verificación solo necesita el hash almacenado y la contraseña candidata, sin una administración de salt separada. Esta combinación de lentitud, sal y formato autónomo convirtió a bcrypt en el hash de contraseña predeterminado durante dos décadas y en una buena opción en la actualidad.

Existen alternativas modernas. Argon2 ganó el Concurso de Hashing de Contraseñas de 2015 y ofrece dureza de la memoria además de dureza del tiempo. scrypt ofrece propiedades similares. Para diseños nuevos, Argon2id es la opción recomendada. bcrypt sigue siendo aceptable y ampliamente implementado, particularmente en entornos donde Argon2 no está disponible.

¿Por qué hash de contraseñas con bcrypt?

Almacenar contraseñas como texto sin formato es una mala práctica. Almacenarlos con un hash rápido como SHA-256 es apenas mejor: las GPU modernas calculan miles de millones de hashes SHA-256 por segundo, lo que hace que los ataques de fuerza bruta contra cualquier contraseña común sean factibles en horas. La lentitud deliberada de bcrypt cambia la economía: con un factor de costo de 12, un atacante gasta aproximadamente 250 ms por contraseña candidata, lo que hace que la fuerza bruta sea poco práctica para cualquier contraseña no trivial.

El salt automático por contraseña de bcrypt también derrota los ataques de la tabla Rainbow. Dos usuarios con la misma contraseña producen diferentes hashes de bcrypt porque sus sales difieren. Comprometer la base de datos de contraseñas no permite que un atacante identifique rápidamente contraseñas comunes o visitas a tablas precalculadas.

Cómo usarla

Escriba una contraseña, elija el costo y obtenga el hash.

  1. Introduce la contraseña: Escriba la contraseña para hash. La herramienta se ejecuta completamente en su navegador; la contraseña no se transmite a ninguna parte.
  2. Elija el factor de costo: El valor predeterminado es 10, lo que produce aproximadamente 100 ms de tiempo de hash en hardware moderno. Se recomienda 12 para aplicaciones nuevas (250 ms). Los valores más altos aumentan la seguridad a costa de una verificación más lenta.
  3. Generar: El hasher genera un salt aleatorio de 16 bytes, ejecuta la derivación de la clave bcrypt y produce un hash en formato estándar $2b$.
  4. Usa el hash: Almacene el resultado completo ($2b$cost$saltAndHash) en su base de datos de contraseñas. La verificación utiliza la misma biblioteca para comparar un candidato con el hash almacenado.

Casos de uso comunes

Detalles técnicos

bcrypt utiliza una fase de configuración de clave de cifrado Blowfish modificada, repetida 2 ^ veces de costo. El factor de costo es logarítmico: el costo 12 es dos veces más lento que el costo 11, cuatro veces más lento que el costo 10. Esta escala logarítmica permite a los administradores aumentar el costo con el tiempo a medida que mejora el hardware, sin rediseñar el sistema.

El formato de salida es $version$cost$saltAndHash donde saltAndHash está codificado en base64 con un alfabeto personalizado. La versión suele ser $2b$ (la variante moderna con el error solucionado) o $2y$ (específico de PHP, equivalente). La sal es de 16 bytes; el hash es de 24 bytes; juntos codifican 53 caracteres de base64 personalizada.

La longitud máxima de entrada es 72 bytes (límite de longitud de la clave Blowfish). Las contraseñas más largas se truncan silenciosamente, lo cual es una peculiaridad de larga data de bcrypt. La mejor práctica es limitar la longitud de la contraseña a 72 bytes o realizar un hash previo con SHA-256 para normalizar la longitud antes de bcrypt.

Mejores prácticas

Preguntas frecuentes

¿Puedo personalizar la salida generada?
Sí. La herramienta proporciona varias opciones de personalización para adaptar el resultado a sus necesidades específicas. Ajuste la configuración antes de generar o regenerar con diferentes opciones.
¿El contenido generado es de uso gratuito?
Sí. Todo lo que genere con esta herramienta es suyo para utilizarlo con fines personales, educativos o comerciales sin restricciones ni requisitos de atribución.
¿Esto requiere una cuenta?
No. La herramienta está lista para usarse inmediatamente sin necesidad de registrarse, enviar correo electrónico ni registrarse. Simplemente abre la página y comienza a generar.
¿Mis datos de entrada se mantienen privados?
Sí. Todo el procesamiento ocurre en su navegador. Sus datos de entrada y salida generada nunca se envían a ningún servidor externo.
¿Debo agregar mi propia sal?
No. bcrypt genera y almacena automáticamente un salt aleatorio. Agregar tu propia sal es innecesario y puede causar errores sutiles. Utilice la generación de sal predeterminada de la biblioteca.
¿La contraseña se envía a un servidor?
No. El hash de bcrypt ocurre en su navegador. La contraseña nunca sale de su dispositivo.
¿Por qué existen variantes $2a$, $2b$, $2y$?
$2a$ es el original. $2b$ corrige un error integral descubierto en 2014. $2y$ es específico de PHP y funcionalmente equivalente a $2b$. Los nuevos sistemas deberían producir $2 mil millones de hashes.
¿Puedo rebajar un hash de alto costo a uno de menor costo?
No. El hash incluye el costo como parte del resultado y la verificación requiere el mismo costo. Para cambiar el costo, vuelva a realizar el hash en el próximo inicio de sesión exitoso.