Laboratorio bcrypt

Calcula hashes bcrypt con coste de 4 a 16, usa tu propia sal de 22 caracteres, ve el hash dividido en versión, coste, sal y hash, y verifica hashes.

0 de 72 bytes usados

2^coste = 1024 rondas

Déjala vacía para usar una sal aleatoria.

bcrypt (Provos y Mazières, 1999) es un hash adaptativo: cada +1 de coste duplica el trabajo. Elige el coste más alto que mantenga el inicio de sesión por debajo de unos 250 ms en tu servidor (10 o más). La salida usa el prefijo $2b$; los hashes $2a$ y $2y$ se verifican igual.

Verificar una contraseña con un hash

Se ejecuta completamente en tu navegador. Tus datos nunca se suben.

¿Qué es Laboratorio bcrypt?

Experimenta con bcrypt: elige el factor de coste, introduce una sal concreta o usa una aleatoria y ve el hash resultante dividido en versión, coste, sal y hash, junto con el tiempo que tardó. El verificador comprueba contraseñas frente a hashes $2a$, $2b$ y $2y$.

Cómo usar Laboratorio bcrypt

  1. Introduce la Contraseña; la indicación muestra cuántos de los 72 bytes de bcrypt se usan.
  2. Fija el Factor de coste (4–16) y, opcionalmente, una Sal de 22 caracteres.
  3. Haz clic en Calcular hash para ver el hash codificado, sus partes y el tiempo empleado.
  4. Pega cualquier hash bcrypt en el panel de verificación para probar una contraseña.

Ejemplo

Entrada
Password password, cost 4, salt abcdefghijklmnopqrstuu
Salida
$2b$04$abcdefghijklmnopqrstuughE8Ev8uGFaUgY2cNEySvxngrb/Jzdm

Coincide con la salida de pyca/bcrypt para la misma contraseña y sal.

Cuándo usar Laboratorio bcrypt

Úsalo para reproducir un hash bcrypt con una sal conocida, elegir un factor de coste midiendo tiempos o verificar un hash de una base de datos al depurar. Para diseños nuevos, es preferible Argon2id.

Cómo funciona Laboratorio bcrypt

bcrypt (Provos y Mazières, 1999) ejecuta 2^coste veces la costosa preparación de clave EksBlowfish y después cifra 'OrpheanBeholderScryDoubt' 64 veces. La sal de 16 bytes y el resultado de 23 bytes se escriben en el alfabeto Base64 propio de bcrypt (./A–Za–z0–9). El cálculo usa hash-wasm (WebAssembly). Las contraseñas de más de 72 bytes UTF-8 se rechazan porque bcrypt ignora todo lo que hay después del byte 72.

Casos de Uso Comunes

  • Medir cuánto tarda cada factor de coste
  • Reproducir un vector de prueba con una sal fija
  • Comprobar que un hash $2y$ de PHP se verifica
  • Enseñar la estructura de los hashes bcrypt

Preguntas Frecuentes

¿Qué factor de coste debo usar?

Al menos 10 (OWASP); elige el valor más alto que mantenga el cálculo del hash por debajo de unos 250 ms en tu servidor. Cada +1 duplica el tiempo.

¿Qué diferencia hay entre $2a$, $2b$ y $2y$?

Marcan correcciones de antiguos errores de implementación. Para contraseñas de hasta 72 bytes producen el mismo hash, y las tres se verifican aquí.

¿Por qué se rechaza mi contraseña larga?

bcrypt solo usa los primeros 72 bytes. Truncarla en silencio haría que contraseñas distintas coincidieran, así que la herramienta se niega a hacerlo.

Explora más categorías