— Acerca de esta herramienta
bcrypt es una función de cifrado de contraseñas diseñada para ser deliberadamente lenta, lo que encarece los ataques de fuerza bruta. Integra la sal dentro del hash y expone un factor de coste (factor de trabajo) que puedes aumentar con el tiempo a medida que el hardware se vuelve más rápido. Esta herramienta cifra una contraseña y también verifica una contraseña en texto plano contra un hash bcrypt almacenado, de modo que puedes probar tu lógica de autenticación sin escribir un script.
El cifrado y la verificación se ejecutan localmente en tu navegador mediante bcryptjs, por lo que las contraseñas nunca se transmiten. Un factor de coste de 10 a 12 es un valor predeterminado razonable para la mayoría de las aplicaciones; los valores más altos son más seguros pero más lentos. Ten en cuenta que bcrypt trunca las entradas que superan los 72 bytes; para secretos más largos, cífralos previamente.
Las contraseñas se cifran y verifican localmente: no se envía nada a ningún sitio.
Preguntas frecuentes
¿Qué factor de coste debería usar?
Un coste de 10 a 12 equilibra seguridad y velocidad para inicios de sesión web típicos. Cada paso duplica el trabajo; haz pruebas de rendimiento en tu hardware de producción y elige el valor más alto que mantenga el cifrado por debajo de aproximadamente 250 ms.
¿Por qué la misma contraseña produce un hash diferente cada vez?
bcrypt genera una sal aleatoria para cada hash y la almacena dentro del resultado, por lo que contraseñas idénticas producen hashes distintos. La verificación sigue funcionando porque la sal se lee de vuelta a partir del hash que se está comprobando.
¿Puedo recuperar la contraseña original a partir de un hash?
No: bcrypt es unidireccional por diseño. Solo puedes verificar si una contraseña candidata coincide con un hash, que es exactamente lo que hace aquí el modo Verificar.