Generador de Hash Bcrypt

Una herramienta simple para generar y verificar hashes bcrypt. Todo el procesamiento ocurre en su navegador por seguridad.

Generar Hash

Genere un hash bcrypt de su texto. Más rondas proporcionan mejor seguridad pero tardan más en procesarse.
Máximo 1000 caracteres
Rápido (4) Alto Seguro (15)
Más rondas aumentan la seguridad pero tardan más en computarse. Se recomiendan 12 rondas para la mayoría de aplicaciones.

Verificar Hash

Verifique si un hash bcrypt coincide con el texto original.

Acerca del Hash Bcrypt

¿Qué es Bcrypt?

Bcrypt es una función de hash de contraseñas diseñada por Niels Provos y David Mazières, basada en el cifrado Blowfish. Incorpora una sal para proteger contra ataques de tabla arcoíris y es adaptativa, lo que significa que puede hacerse más lenta a medida que aumenta el poder computacional.

Cómo Funciona

Bcrypt usa una técnica llamada estiramiento de claves, haciendo que el proceso de hash sea deliberadamente lento. Esto hace que sea computacionalmente costoso para los atacantes descifrar contraseñas a través de ataques de fuerza bruta.

Factor de Costo (Rondas)

El factor de costo determina qué tan lenta será la función hash. Cada incremento duplica el tiempo de computación. Un costo de 12 se recomienda actualmente para la mayoría de aplicaciones, proporcionando un buen equilibrio entre seguridad y rendimiento.

Beneficios de Seguridad
  • Función adaptativa - el costo puede aumentarse a medida que mejora el hardware
  • La generación de sal incorporada previene ataques de tabla arcoíris
  • Deliberadamente lento para prevenir ataques de fuerza bruta
  • Probado en batalla y ampliamente adoptado en la industria

Ejemplos de Uso

Ejemplo PHP
// Generar hash
$password = "mySecretPassword";
$hash = password_hash($password, PASSWORD_BCRYPT, ['cost' => 12]);

// Verificar contraseña
if (password_verify($password, $hash)) {
    echo "¡La contraseña es válida!";
}
Ejemplo Node.js
// Generar hash
const bcrypt = require('bcrypt');
const saltRounds = 12;
const hash = await bcrypt.hash('mySecretPassword', saltRounds);

// Verificar contraseña
const isValid = await bcrypt.compare('mySecretPassword', hash);

Mejores Prácticas de Seguridad

Selección de Rondas
  • Use al menos 12 rondas para sistemas de producción
  • Pruebe el rendimiento en su hardware antes de implementar
  • Considere aumentar las rondas a medida que mejora el hardware
Seguridad General
  • Nunca almacene contraseñas en texto plano
  • Siempre use bcrypt para hash de contraseñas
  • Implemente limitación de velocidad adecuada para autenticación
  • Use medidas de seguridad adicionales como 2FA