جزّئ كلمة مرور باستخدام bcrypt بكلفة من 4 إلى 14، أو تحقق من كلمة مرور مقابل تجزئة
يعمل في متصفحك. لا يُرسل أي شيء تكتبه إلى أي مكان.bcrypt بطيء عن قصد، وهذا ما يجعل كسر قاعدة كلمات مرور مسروقة صعبًا. يضاعف إعداد الكلفة العمل مع كل درجة، من 4 إلى 14 هنا. جزّئ كلمة مرور، أو تحقق من كلمة مقابل تجزئة موجودة. يعمل كل شيء محليًا، فلا تُنقل أي كلمة مرور.
تُرجمت هذه الصفحة آليًا من الأصل الإنجليزي. لم يراجع أي شخص هذه الترجمة بعد، لذا فالنسخة الإنجليزية هي التي يُعتمد عليها. اقرأ الأصل الإنجليزي
في تبويب تجزئة، اكتب كلمة المرور في حقل كلمة المرور أو النص واضبط معامل الكلفة؛ القيمة المعتادة من 10 إلى 12.
اضغط تجزئة وانسخ تجزئة $2b$ الجديدة بزر نسخ.
للتحقق من كلمة مرور لاحقًا، افتح تبويب تحقق والصق التجزئة في حقل تجزئة bcrypt.
اكتب كلمة المرور واضغط تحقق؛ تظهر النتيجة متطابقة أو غير متطابقة.
يحوّل مولّد تجزئة bcrypt هذا كلمة المرور إلى تجزئة bcrypt مملّحة بكلفة من 4 إلى 14، ويتحقق مما إذا كانت كلمة مرور تطابق تجزئة موجودة. تُقسَّم كل تجزئة إلى أجزائها، أي الإصدار والكلفة والملح المكوّن من 22 حرفًا والتجزئة المكوّنة من 31 حرفًا، لترى ما تخزنه السلسلة فعلًا، مع الوقت الذي استغرقه الحساب.
يستخدمه المطورون لإنشاء كلمة مرور مسؤول معروفة لبيانات أولية أو لاختبار، وللتأكد من أن تجزئة في قاعدة بيانات تعود فعلًا إلى كلمة المرور التي يقول المستخدم إنه اختارها، ولاختيار معامل الكلفة برؤية الوقت الذي تستغرقه كل درجة على عتاد عادي. كما يقرأ التجزئات الصادرة عن PHP ($2y$) والمكتبات الأقدم ($2a$).
يجري التجزيء في Web Worker، وهو خيط في خلفية متصفحك، باستخدام مكتبة bcryptjs، فتبقى الصفحة مستجيبة حتى عند الكلفة 14. لا يُرفع أي شيء. لا تُسجّل كلمات المرور ولا التجزئات ولا تُحفظ أبدًا؛ لا يُتذكّر إلا الكلفة التي اخترتها. الأوقات هنا قريبة مما سيراه خادم Node.js يستخدم bcryptjs، بينما مكتبات bcrypt الأصلية أسرع بمرتين إلى ثلاث مرات.
كل درجة في الكلفة تضاعف العمل. تستغرق الكلفة 10 نحو عُشر إلى خُمس ثانية على حاسوب محمول؛ والكلفة 14 أبطأ بست عشرة مرة، وهو ما يُلاحظ في كل تسجيل دخول يعالجه خادمك. تستخدم معظم الأنظمة من 10 إلى 12. لا يقرأ bcrypt إلا أول 72 بايت من كلمة المرور، وتنبّهك الأداة إذا كانت كلمتك أطول.
أدوات ذات صلة: Password Strength Checker وPassword Generator وHMAC Generator.
افتح تبويب تحقق، والصق التجزئة الكاملة المكوّنة من 60 حرفًا والتي تبدأ بـ $2a$ أو $2b$ أو $2y$، واكتب كلمة المرور واضغط تحقق. تعيد الأداة تجزئة كلمة المرور بالملح والكلفة المخزّنين في التجزئة وتقارن النتيجة. سترى متطابقة أو غير متطابقة، إضافة إلى الوقت المستغرق.
لا. bcrypt دالة أحادية الاتجاه وليس تشفيرًا، فلا يوجد مفتاح يعيد التجزئة إلى كلمة المرور. الطريقة الوحيدة لمعرفة كلمة المرور هي تخمين مرشحات وتجزئة كل واحدة منها، وهو ما يجعله معامل الكلفة بطيئًا عن قصد. تستطيع هذه الأداة التحقق من تخمين، لا عكس تجزئة.
تحصل كل تجزئة على ملح عشوائي جديد من 16 بايت، يُخزَّن في الأحرف الاثنين والعشرين التي تلي الكلفة. الأملاح المختلفة تعطي تجزئات مختلفة، وهذا يمنع المهاجمين من كسر حسابات مستخدمين كثيرين دفعة واحدة بجداول محسوبة مسبقًا. ومع ذلك تتحقق كل واحدة من هذه التجزئات مع كلمة المرور، لأن الملح محفوظ داخل التجزئة.
اختر أعلى كلفة يتحملها خادم تسجيل الدخول لديك، وعادةً من 10 إلى 12. كل درجة تضاعف الوقت، فالكلفة 12 أبطأ بأربع مرات من 10. استهدف نحو ربع ثانية لكل تجزئة على عتاد الإنتاج، وارفع الكلفة كل بضع سنوات مع ازدياد سرعة الأجهزة.
هذه البادئات الثلاث علامات إصدار. $2a$ هي الصيغة الأصلية المصحّحة، و$2b$ هي الحالية التي تصلح خطأً في الطول في OpenBSD، و$2y$ هي الاسم الذي يطلقه PHP على مخرجات crypt_blowfish المصحّحة. الثلاث هي الخوارزمية نفسها لكلمات المرور العادية، ويُتحقق منها هنا. أما $2x$ فتدل على تجزئات من مكتبة قديمة معيبة وينبغي استبدالها.
لا. يجري التجزيء والتحقق في خيط في خلفية متصفحك باستخدام مكتبة bcryptjs. لا تُرسل كلمة المرور ولا التجزئة إلى أي مكان، ولا تُسجّلان ولا تُحفظان؛ لا يُتذكّر على هذا الجهاز إلا معامل الكلفة الذي اخترته. إغلاق التبويب يمحو كل ما كتبته.
هل ما زلت عالقًا؟ اسأل عن تجزئة bcrypt والتحقق منها ويمكن لأي شخص يعرف الإجابة أن يجيب. لا حاجة إلى حساب.