Generador y verificador de bcrypt
Crea un hash bcrypt de una contraseña con cualquier factor de coste (4–15) o verifica una contraseña frente a un hash $2a/$2b/$2y existente, todo en tu navegador.
Abrir la herramienta →La herramienta interactiva se abre en inglés.
Genera un hash bcrypt de una contraseña con el factor de coste que elijas, o verifica una contraseña frente a un hash existente. El modo generar produce un hash $2b$ estándar con una sal aleatoria de 128 bits incluida; el control de coste (de 4 a 15) fija el factor de trabajo, y la herramienta muestra cuánto tardó cada hash. El modo verificar usa bcrypt.compare para decirte si es válido o no, que es la forma correcta de comprobar una contraseña, porque cada hash bcrypt de la misma contraseña es distinto. Un desglose de la anatomía separa cualquier hash en su versión ($2a/$2b/$2y), su factor de coste y su sal, para que puedas leer lo que contiene de verdad un hash guardado. Todo se ejecuta en el lado del cliente con bcryptjs: la contraseña, la sal y el hash nunca salen de tu navegador. Es una herramienta Pro: con una cuenta gratuita tienes 3 usos de herramientas Pro en total y después necesitas Pro.
- Para generar: escribe una contraseña, elige el factor de coste (de 4 a 15) y crea el hash; verás cuánto tardó.
- Para verificar: pega la contraseña y un hash bcrypt existente y obtén un veredicto de válido o no válido.
- Lee la anatomía del hash: versión, factor de coste y sal.
- Ajusta el coste para que un hash tarde entre unos 50 y 250 ms en tu hardware de producción.
Preguntas frecuentes
¿Qué es bcrypt?
Bcrypt es una función de hash de contraseñas diseñada por Niels Provos y David Mazières en 1999, basada en el cifrado Blowfish. A diferencia de los hashes de propósito general como MD5 o SHA-256, bcrypt es deliberadamente lento e incluye una sal integrada generada al azar y un «factor de coste» (factor de trabajo) ajustable. Esas propiedades lo hacen muy adecuado para guardar contraseñas: la sal anula las tablas arcoíris precalculadas porque cada hash es único incluso para contraseñas idénticas, y el factor de coste permite que cada hash consuma una cantidad configurable de tiempo de CPU, de modo que los ataques sin conexión de fuerza bruta y de diccionario se vuelven caros. Un hash bcrypt es una cadena autónoma de 60 caracteres que registra la versión del algoritmo, el factor de coste y la sal junto al digest, así que para verificar una contraseña no hace falta nada más que el propio hash.
¿Qué factor de coste debo usar?
El factor de coste (o de trabajo) es una potencia de dos: un coste de 10 significa 2^10 = 1.024 iteraciones de preparación de la clave, un coste de 12 significa 4.096, y así sucesivamente: cada paso duplica el trabajo. El valor adecuado es el que mantiene un solo hash en torno a 50–250 milisegundos en tu hardware de producción, porque es lo bastante lento para frustrar a los atacantes y lo bastante rápido para no degradar el inicio de sesión. 10 es un valor por defecto común y sensato; 12 es una base moderna recomendada con frecuencia en hardware de servidor. Mide en la máquina que lo va a ejecutar de verdad y planifica subir el coste con el tiempo a medida que el hardware se acelera: bcrypt lo facilita porque el coste se guarda en el hash, así que puedes volver a calcular el hash con un coste mayor la próxima vez que cada usuario inicie sesión.
¿Sigue siendo seguro bcrypt en 2026?
Bcrypt sigue siendo una opción sólida y de amplia confianza para guardar contraseñas si se usa con un factor de coste adecuado. Sus principales limitaciones son que solo tiene en cuenta los primeros 72 bytes de una contraseña y que, a diferencia de las funciones que consumen mucha memoria, es relativamente barato de atacar con GPU y ASIC porque usa poca memoria. Para sistemas nuevos, las recomendaciones modernas (incluida OWASP) apuntan primero a Argon2id, una función que consume mucha memoria y resiste los ataques de canal lateral, hoy la opción preferida por defecto, con bcrypt y scrypt como alternativas aceptables, sobre todo donde no hay una implementación de Argon2. En resumen: bcrypt no está roto y es muy superior a cualquier hash rápido, pero si eliges desde cero, prefiere Argon2id y reserva bcrypt para sistemas existentes o entornos en los que sea la opción mejor soportada.
¿Por qué un hash bcrypt es distinto cada vez y cómo verifico una contraseña?
Porque bcrypt genera una sal aleatoria nueva para cada hash, calcular dos veces el hash de la misma contraseña produce dos cadenas distintas de 60 caracteres: es intencionado y es lo que hace inútiles las tablas arcoíris. También significa que no puedes verificar una contraseña volviendo a calcular el hash y comparando cadenas. En su lugar usas la función compare de bcrypt: lee la sal y el factor de coste del hash guardado, vuelve a calcular el hash de la contraseña candidata exactamente con esos parámetros y comprueba si el resultado coincide. El modo verificar de esta herramienta hace justo eso con bcrypt.compare, por completo en tu navegador, y devuelve un veredicto claro de válido o no válido.
¿Es gratis?
No, es una herramienta Pro. Con una cuenta gratuita tienes 3 usos de prueba de herramientas Pro en total; después necesitas Pro.