Esto es una herramienta bcrypt real, no un simulador: ejecuta una implementación bcrypt completa y verificada (EksBlowfish) en JavaScript puro, dentro de tu navegador. Genera un hash $2b$ auténtico de una contraseña con el factor de coste que elijas, o pega un hash bcrypt existente y comprueba si una contraseña coincide con él.
Úsala para validar los hashes que produce tu aplicación, para ver cómo el coste cambia el tiempo de cálculo o para confirmar una contraseña contra un hash de una base de datos, sin enviar la contraseña a ningún sitio. Todo ocurre en local; nada se sube.
Qué hace bcrypt de otra manera
La mayoría de los hashes están hechos para ser rápidos, y eso es justo lo contrario de lo que necesita una contraseña: un hash rápido permite a un atacante probar miles de millones de intentos por segundo. Bcrypt (1999, de Niels Provos y David Mazières) es deliberadamente lento y adaptable. Se construye sobre la costosa expansión de clave del cifrado Blowfish — EksBlowfish — y su factor de coste define cuántas veces se repite ese proceso: el trabajo se duplica con cada +1. Un hash que tarda 250 ms en calcularse no es nada para una página de acceso y es una fortuna para un ataque de fuerza bruta. Bcrypt además mezcla una sal aleatoria de 128 bits en cada hash, así que dos usuarios con la misma contraseña obtienen hashes distintos y las tablas rainbow no sirven de nada.
Anatomía de un hash bcrypt
Un hash bcrypt es una cadena de 60 caracteres como $2b$10$N9qo8uLOickgx2ZMRZoMyeksCv09xp/bZS5MQ9z7mpI.Gbtgo7JEe. Se lee de izquierda a derecha: $2b$ es la versión del algoritmo, 10$ es el coste (210 rondas), los 22 caracteres siguientes son la sal en el alfabeto base64 propio de bcrypt, y los últimos 31 caracteres son el hash en sí. Ese ejemplo es real: es el bcrypt de la contraseña hello world con coste 10 y esa sal — pega el hash en el verificador de arriba y compruébalo.
Cómo usar el generador
Escribe una contraseña, elige un coste y genera. El coste 10 tarda una fracción de segundo aquí; el coste 12 es unas cuatro veces más lento: prueba ambos y notarás el diseño adaptable en acción. Cada generación usa una sal aleatoria nueva, así que hashear dos veces la misma contraseña da dos cadenas distintas, ambas válidas. Es el comportamiento esperado, no un error.
Cómo usar el verificador
Pega un hash bcrypt completo (se aceptan $2a$, $2b$ y $2y$) y la contraseña que quieres probar. La herramienta recalcula el hash con la sal y el coste guardados dentro de la propia cadena y compara. Los desarrolladores lo usan para comprobar que un fallo de acceso está en su código y no en el hash almacenado; los equipos de soporte, para confirmar la contraseña de una cuenta de prueba sin restablecerla.
Límites honestos
Bcrypt solo usa los primeros 72 bytes de una contraseña; lo que pase de ahí se ignora, algo que sorprende a quien prueba frases largas. Esta implementación en el navegador es correcta — está verificada contra los resultados de referencia de la librería crypt del sistema — pero es más lenta que el código nativo, así que no se ofrecen costes por encima de 12. Y un aviso importante: nunca escribas una contraseña real de producción en ninguna herramienta online, tampoco en esta. La página funciona en local y no sube nada, pero el hábito seguro es probar solo con contraseñas desechables.
Preguntas frecuentes
¿Es un simulador o el algoritmo real?
El algoritmo real. El generador y el verificador ejecutan una implementación completa de EksBlowfish/bcrypt en JavaScript, y su salida se ha comprobado byte a byte contra la implementación bcrypt de referencia de los sistemas Linux, con contraseñas, sales y costes conocidos.
¿Qué factor de coste debo usar?
En una aplicación real, elige el coste más alto que mantenga un acceso por debajo de unos 250-500 ms en tu servidor: hoy suele ser 10-12. Esta herramienta llega hasta 12 porque el JavaScript del navegador es más lento que el código de servidor.
¿Por qué mi hash es distinto cada vez?
Por la sal aleatoria. Cada generación extrae 16 bytes aleatorios nuevos, así que la misma contraseña produce un hash distinto — e igualmente válido.
¿Los hashes bcrypt se pueden descifrar?
No se pueden revertir; solo se pueden adivinar, contraseña a contraseña, pagando el coste que impone el factor. Esa es la idea: una contraseña fuerte y única queda fuera de alcance, mientras que una débil como «123456» cae con el primer diccionario que pruebe un atacante.
Herramientas relacionadas
English version: Bcrypt Hash Generator and Checker — Hash and Verify Passwords Online. También te puede interesar: Calculadora de Hash SHA-512 — Genera Hashes SHA-512 de Texto Gratis y Online · Calculadora de Hash SHA-1 — Genera Hashes SHA-1 de Texto Gratis y Online.
Inserta esta herramienta en tu web — gratis
Copia el código de abajo para añadir esta herramienta funcional a tu propia página. Solo pedimos que mantengas el pequeño enlace de crédito que la acompaña.
