Entrada
Generar hash bcrypt
Verificar hash bcrypt
La contraseña de arriba se compara con este hash — con la misma comprobación de formato que la API. No se sube nada.
Pega el hash bcrypt para comparar

Todo se ejecuta en tu navegador: la entrada, la clave HMAC y el hash esperado nunca salen de este dispositivo.

Por qué bcrypt existe para las contraseñas

bcrypt es una función de hash de contraseñas diseñada para ser lenta. Genera un salt aleatorio para cada contraseña y repite el calendario de claves de Blowfish 2^cost veces, así que el coste — las rondas que se muestran aquí — puede subirse a medida que el hardware se acelera. Un resultado se ve como $2b$12$... con versión, coste y salt incrustados. Como el salt es aleatorio, hashear hunter2 dos veces produce dos cadenas distintas y válidas, y ambas verifican contra la misma contraseña.

Usa bcrypt siempre que almacenes contraseñas de usuarios y prefierelo a SHA-256, que es demasiado rápido: las GPU calculan miles de millones de hashes por segundo, mientras que un coste bcrypt de 12 cuesta alrededor de un cuarto de segundo por intento. Ajusta el coste para que un hash tarde unos 100–250 ms en tu servidor y compara la contraseña con el hash almacenado.

Cómo usar el generador bcrypt

  1. Escribe la contraseña a hashear y genera el digest bcrypt.
  2. Sube o baja el coste (rondas) según el presupuesto de tu servidor.
  3. Para comprobar una contraseña, pega un hash $2 existente en el campo de verificación.
  4. Copia el hash completo: el salt va guardado dentro.

Preguntas frecuentes sobre bcrypt

¿Por qué la misma contraseña da un hash distinto?

bcrypt toma un salt aleatorio nuevo cada vez y lo guarda en la salida, así que cada hash es único incluso para contraseñas idénticas.

¿Cuándo es bcrypt mejor que SHA-256?

Siempre para contraseñas. bcrypt es deliberadamente lento y con salt, lo que hace impracticables la fuerza bruta y las tablas arcoíris; SHA-256 está diseñado para ser rápido.

¿Se calcula bcrypt aquí tan rápido como en un servidor?

No. Esta página ejecuta bcrypt en JavaScript, así que es más lento que una implementación nativa: útil para demostrar y verificar, menos para generación masiva.

Todo se ejecuta en tu navegador: la entrada, la clave HMAC y el hash esperado nunca salen de este dispositivo.