Generador y verificador de hash bcrypt

Genera hash bcrypt de contraseña y verifica compatibilidad con hash existente.

{{ bcryptHashChecker.message }}

{{ bcryptHashChecker.checkResult }}

Descripción

Niels Provos y David Mazières crearon bcrypt en 1999 como parte del sistema OpenBSD, publicando el artículo 'A Future-Adaptable Password Scheme' — un título que ha envejecido muy bien. El problema que querían resolver era obvio pero frecuentemente ignorado en aquella época: MD5 y SHA-1 fueron diseñados para ser rápidos, lo que es exactamente lo contrario de lo que quieres al proteger contraseñas. Una GPU moderna puede ejecutar cientos de miles de millones de hashes MD5 por segundo — lo que hace devastadores los ataques de fuerza bruta offline cuando una base de datos queda comprometida. Antes de que bcrypt se popularizara, era habitual encontrar contraseñas almacenadas como MD5 puro, a veces sin sal. La brecha de Adobe en 2013 expuso 153 millones de cuentas con contraseñas en MD5 con sal estática compartida entre contraseñas idénticas — en pocas horas, las herramientas de cracking habían roto la mayoría de las contraseñas comunes.

La innovación central de bcrypt es el factor de coste: un parámetro que controla cuántas rondas del algoritmo Blowfish se ejecutan internamente (2^coste). El factor de coste 10 tarda unos 100 ms por hash en una CPU moderna; el factor 12, unos 400 ms; el factor 14, 1,6 segundos. Este parámetro puede incrementarse conforme el hardware evoluciona, sin necesidad de migrar todos los hashes existentes — los nuevos inicios de sesión simplemente usan el nuevo coste, y los hashes antiguos siguen funcionando con el coste con el que fueron generados. El string completo de bcrypt es autocontenido: `$2a$12$[22 chars sal][31 chars hash]`. El prefijo `$2a$` identifica la versión, el `12` es el factor de coste, los 22 caracteres siguientes son la sal generada aleatoriamente y los 31 restantes son el hash resultante. Nunca necesitas guardar la sal por separado — ya está incrustada en el string del hash. OWASP recomienda un factor de coste mínimo de 10, siendo 12 un buen equilibrio entre seguridad y tiempo de respuesta en 2024.

Esta herramienta es útil para quien necesita depurar flujos de autenticación: verificar si una contraseña específica coincide con un hash bcrypt almacenado sin necesidad de ejecutar código — muy práctico al investigar un error de inicio de sesión o al validar datos migrados desde otro sistema. Una nota sobre el ecosistema: bcrypt domina en PHP (`password_hash()` usa bcrypt como predeterminado desde PHP 5.5), Python (librería `bcrypt`), Node.js (`bcryptjs`) y Ruby (gem `bcrypt`). Para sistemas nuevos en 2024, OWASP y NIST recomiendan Argon2id como primera opción — ganador del Password Hashing Competition de 2015, resistente a aceleración por GPU y hardware especializado (ASICs). Pero bcrypt sigue siendo perfectamente adecuado para la mayoría de las aplicaciones y cuenta con 25 años de uso en producción sin ninguna ruptura práctica conocida.

Detalle técnico

Ideas claras antes de usar la herramienta

  • ¿Para qué sirve esta herramienta?: Funciona por completo en tu navegador: sirve para validar, formatear o convertir datos en el día a día.
  • ¿Se envían mis datos a algún servidor?: El procesamiento es local con JavaScript. No almacenamos lo que pegas en los campos de texto.
  • ¿Puedo usarlo con datos reales en producción?: Úsalo bajo tu responsabilidad. Para secretos (contraseñas, tokens), prefiere entornos controlados y políticas internas. Recuerda de revisar los contenidos generados. Nunca confies ciegamente en cosas que ves en internet.

Fragmento corto para probar

  • Debajo aparece también el ejemplo largo en "Fragmentos de Código"; pega esta versión corta: Ejemplo — $2a$12$Q6r9Qh2m4e7dJtWQ5Fh9x.8J2v3s4t5u6w7y8z9A1B2C3D4E5F6G

Guía de la herramienta

  • Qué es bcrypt bcrypt es una función de hash adaptativa para contraseñas, con sal embebida y factor de costo configurable. Es estándar para almacenar contraseñas.

  • Qué manipula la herramienta Contraseña en texto plano, costo/rounds de bcrypt y hash bcrypt opcional para verificación.

  • Qué hace la herramienta Genera un hash bcrypt nuevo y, si pegas un hash existente, valida si la contraseña coincide.

  • Por qué usarla Pruebas manuales de login en base de datos, verificación en migraciones y troubleshooting en staging.

Fragmentos de Código

Ejemplo de código
$2a$12$Q6r9Qh2m4e7dJtWQ5Fh9x.8J2v3s4t5u6w7y8z9A1B2C3D4E5F6G

Ejemplo

$2a$12$Q6r9Qh2m4e7dJtWQ5Fh9x.8J2v3s4t5u6w7y8z9A1B2C3D4E5F6G

Preguntas frecuentes

¿Para qué sirve esta herramienta?

Funciona por completo en tu navegador: sirve para validar, formatear o convertir datos en el día a día.

¿Se envían mis datos a algún servidor?

El procesamiento es local con JavaScript. No almacenamos lo que pegas en los campos de texto.

¿Puedo usarlo con datos reales en producción?

Úsalo bajo tu responsabilidad. Para secretos (contraseñas, tokens), prefiere entornos controlados y políticas internas. Recuerda de revisar los contenidos generados. Nunca confies ciegamente en cosas que ves en internet.