Skip to main content
Volver a herramientas

Bcrypt Generator

Genera y verifica hashes bcrypt de contraseñas con costo ajustable

Acerca de Bcrypt Generator

Calcula hashes bcrypt de contraseñas con un factor de costo de 4 a 15, mide cuánto tarda cada ejecución y separa cualquier hash en su prefijo $2a$, $2b$ o $2y$, costo, sal de 22 caracteres y checksum de 31. El modo de verificación compara una contraseña con un hash existente del lado del cliente y avisa cuando la entrada supera el límite de 72 bytes de bcrypt. Útil para poblar tablas de usuarios, probar código de inicio de sesión o depurar hashes guardados.

Categoría: Generadores.

Preguntas frecuentes

¿Qué factor de costo debo usar?

▾

Elige el costo más alto que tus servidores puedan permitirse con unos 100 a 300 ms por hash; hoy es común usar de 10 a 12. Cada +1 duplica el trabajo y, tras una ejecución, la herramienta estima el tiempo con otros costos, pero bcryptjs en el navegador suele ser más lento que las bibliotecas nativas del servidor, así que tómalo como una referencia aproximada.

¿Por qué la misma contraseña genera un hash distinto cada vez?

▾

Cada hash recibe una sal aleatoria nueva de 128 bits, guardada en los 22 caracteres que siguen al costo. La verificación vuelve a leer la sal y el costo desde el propio hash, así que todos esos hashes siguen coincidiendo con la contraseña.

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

▾

$2a$ es el formato original, $2b$ es el actual de OpenBSD y $2y$ es el que genera password_hash de PHP. En bcryptjs, que es lo que usa esta página, los tres aplican el mismo algoritmo y checksum, así que elige el prefijo que espere tu framework; $2x$, un modo heredado de crypt_blowfish para compatibilidad con un bug, se rechaza.

¿Por qué aparece un aviso con contraseñas de más de 72 bytes?

▾

bcrypt solo usa los primeros 72 bytes de la contraseña codificada en UTF-8, así que las contraseñas que comparten esos bytes producen hashes que coinciden. Las letras con tilde ocupan 2 bytes y los emoji 4, por lo que el límite puede llegar mucho antes de 72 caracteres; el contador de bytes y el aviso muestran exactamente qué parte se ignora.

Herramientas relacionadas