الأمان / كلمات المرور
مولد تجزئات bcrypt وأداة التحقق منها
أنشئ تجزئة bcrypt لكلمة مرور بالكلفة التي تختارها، أو تحقق من مطابقة كلمة مرور لتجزئة موجودة، بالكامل في المتصفح.
مولد تجزئات bcrypt وأداة التحقق منها: صمّم Niels Provos وDavid Mazières خوارزمية bcrypt في عام 1999، وهي تشغّل جدول مفاتيح Blowfish عدد 2^cost مرة باستخدام salt عشوائي بحجم 16-byte، بحيث تكلّف كل محاولة للمهاجم العمل البطيء نفسه. تتضمن النتيجة الإصدار والكلفة وsalt والتجزئة في سلسلة واحدة بطول 60-character. تم التحقق من التنفيذ هنا مقابل حزمة Python bcrypt، بما في ذلك Unicode وكلمات المرور الأطول من الحد المسموح. يعمل 100% محليًا في المتصفح، من دون رفع أي ملفات إلى الخادم.
- الفئة
- أدوات المطورين
- مرات التشغيل
- في المتصفح
- التكلفة
- مجاني · بلا تسجيل
- التوفر
- جاهز للاستخدام
تعمل بالكامل في المتصفح
يعمل كل شيء في هذا المتصفح؛ ولا تُرسل كلمة المرور أو الهاش إلى أي مكان. تناسب تكلفة 10–12 معظم عمليات تسجيل الدخول؛ إذ تضاعف كل زيادة في المستوى الوقت.
تخزين كلمات المرور بأمان
لا تخزّن كلمات المرور كنص عادي أو باستخدام hash سريع مثل MD5 أو SHA-256، إذ تستطيع بطاقة الرسوميات تجربته مليارات المرات في الثانية. صُممت bcrypt وscrypt وArgon2 لتكون بطيئة عمدًا ومزوّدة بملح، لذلك يصعب اختراق قاعدة بيانات مسروقة بدرجة أكبر بكثير.
لتسجيلات الدخول إلى خادم الويب، يكتب منشئ htpasswd أسطر المستخدمين كاملة؛ ولإنشاء كلمات المرور نفسها، استخدم منشئ كلمات المرور.
قراءة hash من نوع bcrypt
في $2b$12$R9h/cIPz0gi.URNNX3kh2OPST9/PgBkqquzi.Ss7KIUgO2t0jWMUW، يشير 2b إلى الإصدار، و12 إلى التكلفة، وتشير الأحرف الـ22 التالية إلى الملح، أما الأحرف الـ31 الأخيرة فهي hash. وبما أن الملح والتكلفة ينتقلان مع hash، يستطيع الخادم رفع التكلفة لكلمات المرور الجديدة دون التأثير في القديمة.
طريقة الاستخدام
- أدخل كلمة المرور واختر الكلفة؛ تناسب القيم من 10 إلى 12 معظم المواقع.
- أنشئ التجزئة وانسخها إلى قاعدة البيانات أو ملف الإعدادات.
- لاختبار تجزئة مخزنة، بدّل إلى وضع التحقق، والصق التجزئة، ثم أدخل كلمة المرور.
الخصوصية والقيود
تبقى كلمة المرور والتجزئة في المتصفح؛ ولا يُرسل أي شيء إلى خادم.
أدوات ذات صلة
الأسئلة الشائعة
ما الكلفة التي ينبغي استخدامها؟
استخدم أعلى كلفة يستطيع خادمك تحمّلها لكل عملية تسجيل دخول، وعادةً ما تكون 10–12؛ توصي OWASP باستخدام 10 على الأقل. تضاعف كل خطوة الوقت، لذا قارن الوقت المعروض هنا بأبطأ خادم لديك.
ما الفرق بين $2a$ و$2b$ و$2y$؟
تُجزّئ هذه الإصدارات كلمات المرور العادية بالطريقة نفسها. يشير $2b$ إلى إصلاح OpenBSD لعام 2014 الخاص بكلمات المرور الطويلة جدًا، بينما يشير $2y$ إلى إصلاح PHP لعام 2011 لخلل في تنفيذ آخر؛ تكتب PHP وApache's htpasswd القيمة $2y$، بينما تكتب معظم المكتبات الأخرى $2b$.
لماذا تُقبل كلمة مروري الطويلة عند استخدام بدايتها فقط؟
يستخدم bcrypt أول 72 bytes فقط، وتقصّ كثير من المكتبات ما يزيد على ذلك بصمت؛ تحذّرك الأداة عند حدوث هذا. تحتاج الأحرف غير الإنجليزية إلى 2–4 bytes لكل حرف.
أداة مجانية · عدد مرات الاستخدام في المتصفح · لا يتطلب حسابًا