DevToolPal
ع

مولّد ومدقّق تجزئة Bcrypt

جزّئ كلمة مرور باستخدام bcrypt بالتكلفة التي تختارها، أو تحقّق مما إذا كانت كلمة مرور تطابق تجزئة bcrypt.

يعمل محليًا، دون أي رفع

الخيارات

الوضع

كلمة المرور

النتيجة

تظهر النتيجة هنا

ماذا تفعل الأداة

‏bcrypt دالة تجزئة لكلمات المرور صُممت لتكون بطيئة عمدًا. على عكس MD5 أو SHA-256 اللتين يمكن حسابهما مليارات المرات في الثانية، تملك bcrypt تكلفة قابلة للضبط تجعل كل محاولة تخمين مكلفة لمهاجم سرق قاعدة بياناتك. ولا تزال، إلى جانب Argon2 وscrypt، من أكثر الخيارات استخدامًا لتخزين كلمات المرور.

تقوم هذه الأداة بأمرين:

  • التجزئة: تحويل كلمة المرور إلى تجزئة bcrypt بالتكلفة وبادئة الإصدار اللتين تختارهما.
  • التحقق: فحص ما إذا كانت كلمة المرور تطابق تجزئة bcrypt موجودة، مثل تجزئة من قاعدة بياناتك أو من ملف بيانات أولية لإطار عمل.

طريقة الاستخدام

  1. اكتب كلمة المرور أو انقر مثال.
  2. في وضع التجزئة اختر التكلفة والإصدار. تظهر التجزئة فورًا؛ انقر ملح جديد للحصول على أخرى.
  3. في وضع التحقق الصق تجزئة bcrypt للتحقق. تُظهر النتيجة ما إذا كانت كلمة المرور مطابقة.

قراءة تجزئة bcrypt

تتكوّن تجزئة مثل $2b$10$./3kakECWB0QfIgYzIqciuv449HNnwGbgExtJQQwQ1MofonthOdoK من أربعة أجزاء: الإصدار 2b، والتكلفة 10 (‏2¹⁰ جولة لإعداد المفتاح)، وملح من 22 حرفًا، ومجموع تحقق من 31 حرفًا. كل ما يحتاجه الخادم للتحقق من كلمة المرور لاحقًا موجود في هذه السلسلة الواحدة، لذا تخزّن التجزئة فقط.

حدود يجب معرفتها

تقرأ bcrypt أول 72 بايت فقط من كلمة المرور. كلمات المرور الأطول، أو التي تحوي كثيرًا من الأحرف غير ASCII (يأخذ كل منها 2–4 بايت في UTF-8)، تُقتطع بصمت. تنبّهك الأداة عند حدوث ذلك. إذا كنت تحتاج إلى قبول عبارات مرور طويلة جدًا فجزّئها مسبقًا أو فكّر في Argon2id.

الأسئلة الشائعة

› لماذا أحصل على تجزئة مختلفة في كل مرة لكلمة المرور نفسها؟

تستخدم كل تجزئة ملحًا عشوائيًا جديدًا بطول 16 بايت يُخزَّن داخل التجزئة نفسها. هذا مقصود حتى لا تنتج كلمات المرور المتطابقة تجزئات متطابقة. للتحقق من كلمة مرور استخدم وضع التحقق بدل مقارنة سلاسل التجزئة.

› ما التكلفة التي يجب أن أستخدمها؟

اختر أعلى تكلفة يتحملها خادمك عند كل تسجيل دخول، وعادةً ما تكون اليوم بين 10 و12. كل خطوة تضاعف العمل. قِس على عتاد الإنتاج لديك؛ والهدف الشائع نحو 100–300 مللي ثانية لكل تجزئة.

› ما الفرق بين $2a$ و$2b$ و$2y$؟

إنها الخوارزمية نفسها. $2b$ هي البادئة الحالية في OpenBSD، و$2y$ هي ما تكتبه الدالة password_hash في PHP، و$2a$ هي الأقدم. تقبل معظم المكتبات الثلاث، فاختر ما يتوقعه نظامك.

› هل تُرسل كلمة المرور إلى أي مكان؟

لا. تجري التجزئة والتحقق في متصفحك. تبقى كلمة المرور والتجزئة التي تتحقق منها في ذاكرة هذه الصفحة فقط؛ لا تُحفظان ولا تُضافان إلى روابط المشاركة.