Genere el hash bcrypt de una contraseña con coste de 4 a 14, o compruebe una contraseña con un hash
Se ejecuta en su navegador. Nada de lo que escribe se envía a ningún sitio.Bcrypt es lento a propósito, y eso es lo que hace difícil descifrar una base de datos de contraseñas robada. El ajuste de coste duplica el trabajo en cada paso, de 4 a 14 aquí. Genere el hash de una contraseña o compruebe una con un hash existente. Todo se ejecuta en local, así que ninguna contraseña se transmite.
Esta página se ha traducido automáticamente del original en inglés. Ninguna persona ha revisado todavía la traducción, así que la versión en inglés es la que debe consultar. Leer el original en inglés
En la pestaña Hash, escriba la contraseña en Contraseña o texto y ajuste el Factor de coste; lo habitual es de 10 a 12.
Pulse Hash y copie el nuevo hash $2b$ con su botón Copiar.
Para comprobar una contraseña más tarde, abra la pestaña Verificar y pegue el hash en el campo Hash bcrypt.
Escriba la contraseña y pulse Verificar; el resultado indica Coincide o No coincide.
Este generador de hash bcrypt convierte una contraseña en un hash bcrypt con sal, con un coste de 4 a 14, y comprueba si una contraseña coincide con un hash existente. Cada hash se divide en sus partes, la versión, el coste, la sal de 22 caracteres y el hash de 31 caracteres, para que vea lo que realmente guarda la cadena, junto con el tiempo que llevó el cálculo.
Los desarrolladores lo usan para crear una contraseña de administrador conocida para datos iniciales o una prueba, para confirmar que un hash de una base de datos corresponde de verdad a la contraseña que un usuario dice haber puesto, y para elegir un factor de coste viendo cuánto tarda cada paso en un equipo normal. También lee hashes de PHP ($2y$) y de bibliotecas antiguas ($2a$).
El cálculo se ejecuta en un Web Worker, un hilo en segundo plano de su navegador, con la biblioteca bcryptjs, así que la página sigue respondiendo incluso con coste 14. No se sube nada. Las contraseñas y los hashes nunca se registran ni se guardan; solo se recuerda el coste elegido. Los tiempos que se ven aquí se parecen a los de un servidor Node.js con bcryptjs, mientras que las bibliotecas bcrypt nativas son de dos a tres veces más rápidas.
Cada paso de coste duplica el trabajo. El coste 10 tarda entre una décima y una quinta parte de segundo en un portátil; el coste 14 es dieciséis veces más lento, algo que se nota en cada inicio de sesión que gestiona su servidor. La mayoría de los sistemas usan de 10 a 12. bcrypt solo lee los primeros 72 bytes de una contraseña, y la herramienta avisa cuando la suya es más larga.
Herramientas relacionadas: Password Strength Checker, Password Generator, HMAC Generator.
Abra la pestaña Verificar, pegue el hash completo de 60 caracteres que empieza por $2a$, $2b$ o $2y$, escriba la contraseña y pulse Verificar. La herramienta vuelve a calcular el hash de la contraseña con la sal y el coste guardados en el hash y compara el resultado. Verá Coincide o No coincide, además del tiempo que tardó.
No. bcrypt es una función unidireccional, no un cifrado, así que no existe ninguna clave que convierta el hash de nuevo en la contraseña. La única forma de encontrar la contraseña es adivinar candidatas y calcular el hash de cada una, algo que el factor de coste hace lento a propósito. Esta herramienta puede comprobar un intento, no invertir un hash.
Cada hash recibe una sal aleatoria nueva de 16 bytes, guardada como los 22 caracteres que siguen al coste. Sales distintas dan hashes distintos, lo que impide que los atacantes descifren a muchos usuarios a la vez con tablas precalculadas. Todos esos hashes se verifican igualmente con la contraseña, porque la sal viaja dentro del hash.
Elija el coste más alto que pueda permitirse su servidor de inicio de sesión, normalmente de 10 a 12. Cada paso duplica el tiempo, así que el coste 12 es cuatro veces más lento que el 10. Apunte a aproximadamente un cuarto de segundo por hash en su hardware de producción, y suba el coste cada pocos años a medida que las máquinas sean más rápidas.
Esos tres prefijos indican la versión. $2a$ es el formato original corregido, $2b$ es el actual, que corrige un error de longitud en OpenBSD, y $2y$ es como PHP llama a la salida corregida de crypt_blowfish. Los tres son el mismo algoritmo para contraseñas normales y se verifican aquí. $2x$ marca hashes de una biblioteca antigua con errores y conviene sustituirlos.
No. El hash y la verificación se ejecutan en un hilo en segundo plano de su navegador con la biblioteca bcryptjs. La contraseña y el hash no se envían a ningún sitio, no se registran ni se guardan; solo se recuerda en este dispositivo el factor de coste elegido. Al cerrar la pestaña se borra todo lo que escribió.
¿Sigue sin resolverlo? Pregunte sobre Hash y verificación bcrypt y cualquiera que lo sepa puede responder. No se necesita cuenta.