Volver a las herramientas

Generador y verificador de hash Bcrypt

Convierte una contraseña en un hash bcrypt $2b$, o comprueba una contraseña frente a un hash que ya tengas. El hashing se ejecuta en un Web Worker dentro de tu navegador — nada de lo que escribes se envía a ningún sitio.

Entrada

Contraseña y coste

Se genera una sal nueva de 16 bytes para cada hash, así que la misma contraseña da un hash distinto cada vez. Ese es el propósito de la sal, no un error.

10
4 · rápido14 · lento

Un coste de 10 significa 2^10 = 1,024 rondas de configuración de clave. Cada paso hacia arriba duplica el trabajo, tanto para quien esté probando un archivo de contraseñas robado como para tu propio servidor en cada inicio de sesión. La mayoría de los sistemas en producción se sitúan entre 10 y 12.

Los tres prefijos producen los mismos bytes de hash para contraseñas de menos de 72 bytes; solo cambia la etiqueta. El crypt() integrado de PHP no reconoce $2b$, así que un hash $2b$ hará fallar password_verify() sin avisar. Elige $2y$ para PHP.

El hashing se ejecuta en un Web Worker dentro de esta pestaña. La contraseña nunca se envía a Wespner ni a nadie más — no hay ninguna petición que la envíe.

Resultado

hash bcrypt

Pulsa «Generar hash».

Coste, medido aquí

Lo que te cuesta este ajuste

Estimación: se cronometra un hash en esta pestaña con coste 8, y el resto de costes se extrapolan duplicando ese valor. Tu propio hardware y navegador deciden el número final.

Una comprobación aquí
midiendo…
Intentos por segundo
lista de 14,344,391 palabras

Esas cifras corresponden a un único hilo de JavaScript. Un atacante real ejecuta código nativo en un rack de GPU y es órdenes de magnitud más rápido — esa diferencia es exactamente la razón por la que el factor de coste debe ser incómodo, no cómodo. El mismo control también decide cuánta CPU consume cada uno de tus propios inicios de sesión.

Cómo leer la cadena

Qué significan los 60 caracteres

$2b$12$LQv3c1yqBWVHxkd0LHAkCOYUtYgBuLIjrsGrDUgYqZbY7d0RfPbtq

versión
$2b$
coste
12 → 2^12 = 4,096 rondas
sal (22)
LQv3c1yqBWVHxkd0LHAkCO
hash (31)
YUtYgBuLIjrsGrDUgYqZbY7d0RfPbtq

Ambos bloques usan el alfabeto base64 propio de bcrypt, que empieza por ./ y deja los dígitos al final — no es base64 estándar, y decodificarlo como si lo fuera da bytes incorrectos. Eso, junto con la división 22/31, es una forma rápida de comprobar que una cadena es realmente un hash bcrypt y no algo que solo se le parece.

Elegir un algoritmo

¿bcrypt, scrypt o Argon2?

Esta herramienta es solo para bcrypt, a propósito. Aquí tienes cuándo es la respuesta correcta y cuándo no.

bcrypt
Intensivo en CPU, 1999

Lento por diseño, pero solo depende del tiempo de CPU y de una memoria fija de 4 KB. Las GPU y FPGA lo paralelizan mucho mejor que a los diseños más recientes. Sigue siendo una opción perfectamente respetable, está soportado literalmente en todas partes, y su límite de 72 bytes de contraseña es su sorpresa más incómoda.

scrypt
Intensivo en memoria, 2009

Añade un coste de memoria ajustable, así que un atacante necesita RAM por cada intento, no solo núcleos. Más difícil de paralelizar barato que bcrypt.

Argon2id
Recomendación actual

Ganador de la Password Hashing Competition de 2015 y lo que OWASP recomienda ahora para sistemas nuevos: controles independientes de tiempo, memoria y paralelismo, con la variante id resistente tanto a ataques por GPU como por canal lateral. Si empiezas de cero y tu plataforma lo soporta, úsalo. Si mantienes algo que ya almacena hashes $2y$, bcrypt con un coste razonable no es una emergencia — mejor rehashea en el siguiente inicio de sesión.

Prueba

Comprueba esta página frente a los vectores de prueba publicados

Una herramienta de hashing que pide confianza debería poder comprobarse. Estos son los vectores de referencia de bcrypt usados por las implementaciones derivadas de OpenBSD; la página recalcula cada uno a partir de su propia sal y compara carácter a carácter, y además genera y reverifica una contraseña desechable con dos factores de coste.

El lote ejecuta 6 vectores publicados más dos idas y vueltas.

¿Tienes tu propio servidor de juegos?

Servidores de juegos Wespner con protección DDoS, discos NVMe y activación en pocos minutos.

Ver hosting