WMW

مولد وفاحص تجزئة Bcrypt

Free

ولّد وتحقق من تجزئات كلمات مرور bcrypt بالكامل في متصفحك باستخدام WebAssembly، مع عامل تكلفة وملح قابلين للتعديل.

يعمل بالكامل في متصفحك باستخدام WebAssembly. لا يُرسل أي شيء إلى خادم.

إعدادات مسبقة

كل زيادة بمقدار 1 تضاعف تقريبًا وقت الحساب. 10-12 نطاق شائع للأجهزة الحديثة.

النشاط الأخير

مرئي للجميع. آخر 20 استخدامًا من جميع الزوار، الأحدث أولاً.

لا يوجد نشاط بعد. كن أول من يبدأ.

التعليقات (0)

هل وجدت هذه الأداة مفيدة؟ اترك تعليقًا، أو شارك نصيحة، أو أخبرنا كيف يمكننا تحسينها.

تُراجَع تعليقات الزوار قبل النشر. تسجيل الدخول للنشر فورًا.

لا توجد تعليقات بعد. كن أول من يشارك رأيه!

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

تُنشئ هذه الأداة تجزئات كلمات مرور bcrypt بالكامل في متصفحك باستخدام WebAssembly، مع عامل تكلفة وملح قابلين للتعديل، بالإضافة إلى أداة تحقق مدمجة للتحقق من كلمة مرور مقابل تجزئة مشفرة موجودة.

كيف يعمل

يجمع bcrypt كلمة المرور مع ملح عشوائي مكون من 16 بايت ويكرر خوارزمية إعداد المفتاح الداخلية 2^التكلفة مرة (عامل التكلفة)، وهذا ما يجعله بطيئًا عمدًا في الحساب، وبالتالي مكلفًا لكسره بالقوة الغاشمة. تُعبأ النتيجة في سلسلة مشفرة ذاتية الاحتواء بصيغة $2b$<التكلفة>$<الملح+التجزئة>، باستخدام أبجدية bcrypt الشبيهة بـ base64 الخاصة به. ولأن الملح مضمّن مباشرة في تلك السلسلة، فإن التحقق من كلمة مرور لاحقًا يعني فقط قراءة الملح والتكلفة مرة أخرى، وإعادة تشغيل نفس الحساب على كلمة المرور المرشحة، ومقارنة الناتج.

المشكلات التي تحلها

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

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

10-12 هو النطاق الشائع على الأجهزة الحديثة، موازنًا بين الأمان ووقت حساب كل تجزئة. كل زيادة بمقدار 1 تضاعف تقريبًا وقت الحساب، لذا فإن التكلفة 12 تستغرق حوالي 4 أضعاف تكلفة 10. استخدم قيمة أقل مثل 8 فقط للاختبار، وليس أبدًا لتخزين كلمات المرور الفعلية.

لماذا تُرفض كلمة مروري باعتبارها طويلة جدًا؟

يفرض bcrypt حدًا صارمًا يبلغ 72 بايت لكل كلمة مرور، وأي شيء يتجاوز ذلك تتجاهله الخوارزمية الأصلية بصمت، وهو ما ترفض هذه الأداة فعله دون تنبيه. لاحظ أن هذا حد بايت وليس حد أحرف: يمكن أن تستغرق الحروف المنقطة والرموز التعبيرية 2-4 بايت لكل منها في UTF-8، لذا يمكن أن تصل كلمة المرور إلى الحد قبل أن تبدو 72 حرفًا بوقت طويل.

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

لا. تُحسب التجزئة بالكامل في متصفحك باستخدام WebAssembly، ولا يُرسل أي شيء تكتبه هنا إلى أي خادم.

لماذا تبدأ التجزئة المشفرة بـ $2b$؟

يحدد $2b$ إصدار خوارزمية bcrypt، ويتبعه عامل التكلفة المكون من رقمين ثم سلسلة واحدة تشبه base64 تحتوي على كل من الملح والتجزئة الناتجة. هذا التنسيق ذاتي الاحتواء هو سبب عدم حاجة التحقق من bcrypt إلى تخزين الملح بشكل منفصل، فهو مضمّن بالفعل في سلسلة التجزئة.

هل يجب أن أُنشئ ملحي الخاص أم أستخدم ملحًا عشوائيًا؟

استخدم ملحًا عشوائيًا لتخزين كلمات المرور الفعلية، وهذا هو الغرض من الملح المكون من 16 بايت الذي يُنشأ تلقائيًا، وهو فريد في كل تحميل للصفحة. توفير ملح ثابت خاص بك مفيد فقط للاختبار أو لإعادة إنتاج تجزئة معروفة محددة.

أدوات ذات صلة