Genera hashes bcrypt con sal para contrasenas y verifica texto plano contra un hash existente, todo en tu navegador.
Genera hashes bcrypt con sal para contrasenas y verifica texto plano contra un hash existente, todo en tu navegador. Genera hashes bcrypt con sal para contrasenas y verifica texto plano contra un hash existente, todo en tu navegador.
Hash bcrypt generado
Contexto
Que es bcrypt y por que importa
bcrypt es una funcion de hash de contrasenas adaptativa disenada por Niels
Provos y David Mazieres en 1999. A diferencia de resumenes rapidos como MD5 o
SHA-256, bcrypt cuesta deliberadamente tiempo de CPU: cada hash ejecuta el
cifrado Blowfish a traves de un numero configurable de rondas, y el trabajo se
duplica con cada incremento del factor de coste. Esta ralentizacion es lo que
encarece los ataques offline de diccionario y fuerza bruta. Una implementacion
correcta tambien embebe una sal aleatoria de 128 bits dentro de la salida, de
modo que dos hashes de la misma contrasena siempre difieren y las tablas
arcoiris resultan inutiles.
Como leer un hash bcrypt
Un hash bcrypt se ve como $2b$12$e0.6kJ8a5X8u5Yp3qR5E0e9dF4z3W2c1v0b9n8m7l6k5j4h3g2f1.
Las partes tras los signos de dolar llevan la version del algoritmo, el coste
y la sal:
$2b$ -- la revision del algoritmo. $2a$ y $2y$ son variantes antiguas
con diferencias sutiles en el manejo del bit de signo; $2b$ es la
recomendacion actual y lo que emite bcryptjs.
12 -- el factor de coste. 2^12 = 4096 rondas del calendario de claves.
Cada +1 duplica el tiempo; 10-12 es un valor razonable para login
interactivo, mientras que 12-14 conviene a credenciales almacenadas.
Los 53 caracteres restantes contienen una sal base64 de 22 caracteres
(128 bits) mas un checksum de 31 caracteres (184 bits). Toda la cadena es
un registro autocontenido: el verificador lee version, coste y sal del
propio hash y repite la derivacion para comparar.
Como usar esta herramienta
Escribe una contrasena en la entrada, elige un factor de coste y pulsa Hash.
El hash generado aparece en la salida y tambien se coloca en el campo de
verificacion. Para comprobar un hash existente, pegalo en el campo de
verificacion y escribe la contrasena candidata en la entrada: la pagina
compara al instante y muestra una marca verde o una cruz roja. Como la
comparacion usa bcrypt.compareSync, nunca revela cuan cerca estuvo un intento
erroneo: cada intento se hashea completo antes de decidir el resultado.
Notas de seguridad y limitaciones
bcrypt trunca la entrada a 72 bytes: las contrasenas mas largas se cortan en
silencio, de modo que dos contrasenas que comparten los primeros 72 bytes se
comparan iguales. Si necesitas entradas mas largas, pre-hashea con SHA-256
(hexadecimal) y hashea ese resumen. Bcrypt es un algoritmo deliberadamente
ligero en memoria -- resiste menos a las matrices GPU que disenos con memoria
dura como Argon2 o scrypt, pero su tabla de 4 KB y sus 64 bytes de estado
siguen haciendo poco atractivo el agrietamiento con ASIC baratos. Para
sistemas nuevos Argon2id suele ser mejor; bcrypt sigue siendo una opcion
excelente y muy compatible para compatibilidad heredada y para entornos sin
Argon2. Esta pagina corre por completo en tu navegador: la contrasena y el
hash nunca salen de tu dispositivo, y puedes inspeccionar el codigo
(bcryptjs MIT/BSD) empaquetado en public/assets.
Preguntas frecuentes
Por que la misma contrasena produce un hash distinto cada vez?
Cada hash genera una sal aleatoria de 128 bits y la incrusta en la salida. El verificador relee la sal del hash, asi que la correccion no se ve afectada, pero entradas identicas nunca producen salidas identicas.
Que factor de coste debo usar?
Para logins interactivos, 10-12 es un buen valor por defecto. Para credenciales almacenadas puedes usar 12-14. Costes mas altos son mas seguros pero mas lentos; elige el mayor valor que tu servidor pueda permitirse por login.
Se sigue recomendando bcrypt en 2026?
Si. bcrypt sigue muy desplegado y se considera seguro con un coste de 10+. Para sistemas nuevos suelen preferirse Argon2id o scrypt, de memoria dura, pero bcrypt es una opcion excelente y probada, sobre todo donde esos no estan disponibles.
Por que bcrypt es mas lento que SHA-256?
Ese es el punto. SHA-256 esta disenado para ser rapido, lo que permite a los atacantes probar miles de millones de conjeturas por segundo. El costoso calendario de claves y la sal de bcrypt obligan a invertir tiempo real por conjetura, volviendo impracticables los ataques offline.
Que significa el limite de 72 bytes para mis contrasenas?
bcrypt ignora todo lo que supere el byte 72. Dos contrasenas de mas de 72 bytes que comparten el mismo prefijo se verificaran identicas. Para secretos mas largos, hashealos primero con SHA-256 (en hex) y hashea el resumen.
Se envia mi contrasena a un servidor?
No. Todo corre en local en tu navegador con la biblioteca bcryptjs empaquetada. Puedes desconectarte de la red tras cargar la pagina y seguira funcionando.