Command Palette

Search for a command to run...

GE

Generador BCrypt

Genere y verifique hashes de contraseñas de bcrypt en el navegador con un factor de costo ajustable

¿qué es un generador Bcrypt?

Un generador de bcrypt convierte una contraseña simple en un hash de bcrypt: una cadena de 60 caracteres que almacena de forma segura la contraseña sin conservarla. Bcrypt es una función de hash de contraseñas diseñada por Niels Provos y David Mazieres en 1999, basada en el cifrado Blowfish, y sigue siendo la opción predeterminada en marcos como Laravel, Spring Security y Django (como uno de varios hashs compatibles). Esta herramienta genera un hash a partir de cualquier contraseña y, en modo de verificación, verifica si una contraseña coincide con un hash que ya tiene.

Bcrypt hace dos cosas que un SHA-256 sin formato no hace. Sale cada hash con 16 bytes aleatorios ingresados en la salida, por lo que dos usuarios con la misma contraseña obtienen hashes diferentes y las tablas de arcoíris precalculadas son inútiles. Y es deliberadamente lento: un factor de costo de 4 a 31 controla cuántas rondas de expansión de claves se ejecutan, duplicando el trabajo con cada paso. Esa lentitud es el punto. Un hash rápido permite a un atacante con una base de datos filtrada probar miles de millones de conjeturas por segundo en una GPU; un hash bcrypt de costo 12 requiere aproximadamente un quinto de segundo de tiempo de CPU, lo que limita a un atacante a un puñado de conjeturas por segundo por núcleo, que es lo que evita que una base de datos robada se convierta en una lista de contraseñas de texto sin formato de la noche a la mañana.

El formato de salida es autodescrito. Un hash como $2b$12$R9h/cIPz0gi.URNNX3kh2OPST9/PgBkqquzi.Ss7KIUgO2t0jWMUW incluye cuatro campos separados por signos de dólar: la versión (2b), el costo (12) y luego un salt Base64 de 22 caracteres seguido del resumen de 31 caracteres. Debido a que la sal y el costo viajan dentro del hash, la verificación no necesita nada más que la contraseña y la cadena del hash, que es exactamente lo que usa el modo de verificación aquí.

Todo se ejecuta en el lado del cliente en su navegador. La contraseña que escribe, el hash que pega y la sal que se genera nunca salen de la pestaña, no llegan a ningún servidor y no llegan a ningún registro. El panel de red de sus herramientas de desarrollador muestra que las únicas solicitudes son una verificación de uso y un registro de uso, que incluye la configuración de costos pero nunca la contraseña o el hash. El algoritmo bcrypt se implementa en TypeScript puro, por lo que la herramienta también funciona sin conexión una vez que se ha cargado la página. La salida es compatible byte por byte con OpenBSD, PHP contraseña_hash (PASSWORD_BCRYPT), bibliotecas Node bcrypt y verificadores bcrypt en todos los marcos principales, por lo que un hash generado aquí se valida en su aplicación y viceversa.

Una forma rápida de probar el generador de hash bcrypt es la muestra. En Generar, presione Cargar muestra para completar la grapa de batería de caballo correcta, deje el factor de costo en 10 y presione Generar hash. Obtienes una cadena de 60 caracteres a partir de $2b$10$, y al presionar Generar hash nuevamente se obtiene una diferente, porque la sal es nueva cada vez. En Verificar, Cargar muestra llena un hash almacenado y la misma contraseña, y Verificar informes Coincidencia (costo 10). Cambie la primera letra a una C mayúscula y no informará ninguna coincidencia. Ese viaje de ida y vuelta es lo que debería demostrar un generador de contraseñas bcrypt.

¿cómo utilizar el generador Bcrypt?

  1. Introduzca una contraseña

    Escriba o pegue la contraseña que desea hash. Bcrypt utiliza los primeros 72 bytes de la contraseña codificada UTF-8, por lo que todo lo que dure más se trunca; la herramienta te avisa cuando eso sucede.

  2. Elija un factor de costo

    Elija un costo de 4 a 31 con el control deslizante. Cada paso duplica el tiempo de hash. El costo de 10 a 12 es el rango común para los sistemas de inicio de sesión de producción en la década de 2020; Los costos más altos son más resistentes al agrietamiento, pero también más lentos en cada inicio de sesión legítimo.

  3. Genera el hachís

    Haga clic en Generar. Se crea una nueva sal aleatoria de 16 bytes y el hash bcrypt se calcula en su navegador. Debido a que la sal es aleatoria, el hash de la misma contraseña nuevamente produce un hash diferente, lo cual es esperado y correcto.

  4. Cópielo o cambie a Verificar

    Copie el hash de 60 caracteres en su tabla de usuario o configuración. Para comparar una contraseña con un hash existente, cambie al modo Verificar, pegue el hash y la contraseña candidata, y la herramienta informa que coincide o no con el costo y la sal incrustados en el hash.

Características clave

  • Generar y verificar

    Haga una nueva contraseña o verifique una contraseña con un hash bcrypt existente, ambos en una sola herramienta

  • Factor de costo ajustable

    Control deslizante de costo 4 a 31 con una estimación en vivo de cómo crece el trabajo a medida que lo aumenta

  • Sal aleatoria en todo momento

    Se genera una sal criptográficamente fuerte de 16 bytes por hash utilizando la API Web Crypto

  • Salida compatible con estándar

    Produce el formato $2b$ que aceptan OpenBSD, PHP contraseña_hash, Laravel y Node bcrypt

Frequently Asked Questions

Sí, porque el hash ocurre completamente en su navegador y la contraseña nunca se envía a ninguna parte. Puede verificar esto en la pestaña Red de sus herramientas de desarrollo: generar un hash solo genera una verificación de uso y un registro de uso, y ninguno contiene la contraseña, el salt o el hash. Dicho esto, la pestaña del navegador no es un administrador de contraseñas, así que evite pegar las credenciales en vivo de una cuenta de producción en cualquier página web que no haya creado y cierre la pestaña cuando haya terminado.

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!

bcryptbcrypt generatorbcrypt hashpassword hashbcrypt verifyhash passwordbcrypt cost factorbcrypt onlinebcrypt hash generatorbcrypt password generatorpassword_hashsalt