Skip to content

La función Bun.password.hash() proporciona un mecanismo rápido e integrado para hashear contraseñas de forma segura en Bun. No se requieren dependencias de terceros.

ts
const password = "super-secure-pa$$word";

const hash = await Bun.password.hash(password);
// => $argon2id$v=19$m=65536,t=2,p=1$tFq+9AVr1bfPxQdh6E8DQRhEXg/M/...

Por defecto, esto usa el algoritmo Argon2id. Pasa un segundo argumento a Bun.password.hash() para usar un algoritmo diferente o configurar los parámetros de hash.

ts
const password = "super-secure-pa$$word";

// usar argon2 (predeterminado)
const argonHash = await Bun.password.hash(password, {
  memoryCost: 4, // uso de memoria en kibibytes
  timeCost: 3, // número de iteraciones
});

Bun también implementa el algoritmo bcrypt. Especifica algorithm: "bcrypt" para usarlo.

ts
// usar bcrypt
const bcryptHash = await Bun.password.hash(password, {
  algorithm: "bcrypt",
  cost: 4, // número entre 4-31
});

Usa Bun.password.verify() para verificar una contraseña. El algoritmo y sus parámetros se almacenan en el hash mismo, por lo que no es necesario volver a especificar la configuración.

ts
const password = "super-secure-pa$$word";
const hash = await Bun.password.hash(password);

const isMatch = await Bun.password.verify(password, hash);
// => true

Consulta Documentación > API > Hashing para documentación completa.

Bun por www.bunjs.com.cn editar