Skip to content

La fonction Bun.password.hash() fournit un mécanisme rapide et intégré pour hacher de manière sécurisée les mots de passe dans Bun. Aucune dépendance tierce n'est requise.

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

Par défaut, cela utilise l'algorithme Argon2id. Passez un deuxième argument à Bun.password.hash() pour utiliser un algorithme différent ou configurer les paramètres de hachage.

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

// utiliser argon2 (par défaut)
const argonHash = await Bun.password.hash(password, {
  memoryCost: 4, // utilisation de la mémoire en kibioctets
  timeCost: 3, // nombre d'itérations
});

Bun implémente également l'algorithme bcrypt. Spécifiez algorithm: "bcrypt" pour l'utiliser.

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

Utilisez Bun.password.verify() pour vérifier un mot de passe. L'algorithme et ses paramètres sont stockés dans le hachage lui-même, il n'est donc pas nécessaire de spécifier à nouveau la configuration.

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

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

Consultez Docs > API > Hashing pour la documentation complète.

Bun édité par www.bunjs.com.cn