Skip to content

توفر دالة Bun.password.hash() آلية مدمجة وسريعة وآمنة لتجزئة كلمات المرور في Bun. لا حاجة إلى تبعيات خارجية.

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

افتراضيًا، يستخدم هذا الخوارزمية Argon2id. مرر وسيطة ثانية إلى Bun.password.hash() لاستخدام خوارزمية مختلفة أو تكوين معلمات التجزئة.

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

// استخدام argon2 (افتراضي)
const argonHash = await Bun.password.hash(password, {
  memoryCost: 4, // استخدام الذاكرة بالكيلو بايت
  timeCost: 3, // عدد التكرارات
});

يُطبق Bun أيضًا خوارزمية bcrypt. حدد algorithm: "bcrypt" لاستخدامها.

ts
// استخدام bcrypt
const bcryptHash = await Bun.password.hash(password, {
  algorithm: "bcrypt",
  cost: 4, // رقم بين 4-31
});

استخدم Bun.password.verify() للتحقق من كلمة المرور. يتم تخزين الخوارزمية ومعلماتها في التجزئة نفسها، لذا لا حاجة لإعادة تحديد التكوين.

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

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

راجع الوثائق > API > التجزئة للحصول على الوثائق الكاملة.

Bun بواسطة www.bunjs.com.cn تحرير