Skip to content

A função Bun.password.hash() fornece um mecanismo rápido e integrado para fazer hash de senhas com segurança no Bun. Nenhuma dependência de terceiros é necessária.

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 padrão, isso usa o algoritmo Argon2id. Passe um segundo argumento para Bun.password.hash() para usar um algoritmo diferente ou configurar os parâmetros de hash.

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

// usar argon2 (padrão)
const argonHash = await Bun.password.hash(password, {
  memoryCost: 4, // uso de memória em kibibytes
  timeCost: 3, // número de iterações
});

Bun também implementa o algoritmo bcrypt. Especifique algorithm: "bcrypt" para usá-lo.

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

Use Bun.password.verify() para verificar uma senha. O algoritmo e seus parâmetros são armazenados no próprio hash, então não é necessário especificar novamente a configuração.

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

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

Consulte Docs > API > Hashing para documentação completa.

Bun by www.bunjs.com.cn edit