Skip to content

La funzione Bun.password.hash() fornisce un meccanismo integrato veloce e sicuro per hashare le password in Bun. Non sono necessarie dipendenze di terze parti.

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/...

Per impostazione predefinita, questo usa l'algoritmo Argon2id. Passa un secondo argomento a Bun.password.hash() per usare un algoritmo diverso o configurare i parametri di hashing.

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

// usa argon2 (predefinito)
const argonHash = await Bun.password.hash(password, {
  memoryCost: 4, // uso memoria in kibibyte
  timeCost: 3, // numero di iterazioni
});

Bun implementa anche l'algoritmo bcrypt. Specifica algorithm: "bcrypt" per usarlo.

ts
// usa bcrypt
const bcryptHash = await Bun.password.hash(password, {
  algorithm: "bcrypt",
  cost: 4, // numero tra 4-31
});

Usa Bun.password.verify() per verificare una password. L'algoritmo e i suoi parametri sono memorizzati nell'hash stesso, quindi non è necessario specificare nuovamente la configurazione.

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

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

Vedi Docs > API > Hashing per la documentazione completa.

Bun a cura di www.bunjs.com.cn