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);
// => trueConsultez Docs > API > Hashing pour la documentation complète.