محول مجاني

مولد كلمة المرور Bcrypt

أنشئ تجزئات bcrypt آمنة لكلمات المرور فوراً في متصفحك. اختر عامل التكلفة وقم بالتجزئة من جانب العميل — خاص تماماً ومجاني.

حول هذه الأداة

bcrypt هي وظيفة تجزئة كلمة المرور صممها نيلز بروفوس وديفيد مازيير في عام 1999، وهي مستمدة من تشفير السمكة المنتفخة. على عكس وظائف التجزئة ذات الأغراض العامة مثل SHA-256، فإن bcrypt بطيء بشكل متعمد - وبطيء من حيث التكوين، عبر معلمة التكلفة - وهي بالضبط الخاصية التي تحتاجها أداة تجزئة كلمة المرور. تتيح وظيفة التجزئة الأسرع للمهاجمين فرض المزيد من المرشحين في الثانية؛ واحد أبطأ يحد منهم.

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

البدائل الحديثة موجودة. فاز Argon2 بمسابقة تجزئة كلمة المرور لعام 2015 ويوفر صلابة الذاكرة بالإضافة إلى صلابة الوقت. يقدم scrypt خصائص مماثلة. بالنسبة للتصميمات الجديدة، فإن Argon2id هو الخيار الموصى به. يظل bcrypt مقبولًا ومنتشرًا على نطاق واسع، خاصة في البيئات التي لا يتوفر فيها Argon2.

لماذا تجزئة كلمات المرور مع bcrypt

يعد تخزين كلمات المرور كنص عادي ممارسة خاطئة. إن تخزينها باستخدام تجزئة سريعة مثل SHA-256 لا يكاد يكون أفضل - حيث تحسب وحدات معالجة الرسوميات الحديثة مليارات من تجزئة SHA-256 في الثانية، مما يجعل هجمات القوة الغاشمة ضد أي كلمة مرور شائعة ممكنة في ساعات. يؤدي بطء bcrypt المتعمد إلى تغيير الاقتصاد: عند عامل التكلفة 12، ينفق المهاجم ما يقرب من 250 مللي ثانية لكل كلمة مرور مرشحة، مما يجعل القوة الغاشمة غير عملية لأي كلمة مرور غير تافهة.

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

كيفية الاستخدام

اكتب كلمة المرور، واختر التكلفة، واحصل على التجزئة.

  1. أدخل كلمة المرور: اكتب كلمة المرور للتجزئة. تعمل الأداة بالكامل في متصفحك؛ لا يتم نقل كلمة المرور في أي مكان.
  2. اختر عامل التكلفة: الافتراضي هو 10، وينتج حوالي 100 مللي ثانية من وقت التجزئة على الأجهزة الحديثة. يوصى باستخدام 12 للتطبيقات الجديدة (250 مللي ثانية). تعمل القيم الأعلى على زيادة الأمان على حساب التحقق الأبطأ.
  3. يولد: تقوم أداة التجزئة بإنشاء ملح عشوائي بحجم 16 بايت، وتشغيل اشتقاق مفتاح التشفير، وإنتاج تجزئة بتنسيق قياسي قدره 2b$.
  4. استخدم التجزئة: قم بتخزين الإخراج الكامل ($2b$cost$saltAndHash) في قاعدة بيانات كلمة المرور الخاصة بك. يستخدم التحقق نفس المكتبة لمقارنة المرشح بالتجزئة المخزنة.

حالات الاستخدام الشائعة

التفاصيل الفنية

يستخدم bcrypt مرحلة إعداد مفتاح تشفير السمكة المنتفخة المعدلة، ويتكرر مرتين بتكلفة. عامل التكلفة لوغاريتمي - التكلفة 12 أبطأ مرتين من التكلفة 11، وأربعة أضعاف أبطأ من التكلفة 10. يتيح هذا القياس اللوغاريتمي للمسؤولين زيادة التكلفة بمرور الوقت مع تحسن الأجهزة، دون إعادة تصميم النظام.

تنسيق الإخراج هو $version$cost$saltAndHash حيث يتم ترميز saltAndHash باستخدام base64 بأبجدية مخصصة. الإصدار عادةً ما يكون $2b$ (الإصدار الحديث مع إصلاح الخطأ الملتف) أو $2y$ (خاص بـPHP، ما يعادله). الملح 16 بايت. التجزئة 24 بايت. يقومون معًا بتشفير 53 حرفًا من custom-base64.

الحد الأقصى لطول الإدخال هو 72 بايت (حد طول مفتاح السمكة المنتفخة). يتم اقتطاع كلمات المرور الأطول بصمت، وهو أمر غريب في تشفير bcrypt منذ فترة طويلة. أفضل الممارسات هي إما الحد من طول كلمة المرور إلى 72 بايت أو التجزئة المسبقة باستخدام SHA-256 لتطبيع الطول قبل التشفير.

أفضل الممارسات

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

هل يمكنني تخصيص الإخراج الذي تم إنشاؤه؟
نعم. توفر الأداة خيارات تخصيص متنوعة لتخصيص الإخراج وفقًا لاحتياجاتك المحددة. اضبط الإعدادات قبل الإنشاء أو إعادة الإنشاء باستخدام خيارات مختلفة.
هل المحتوى الذي تم إنشاؤه مجاني للاستخدام؟
نعم. كل ما تنشئه باستخدام هذه الأداة هو ملكك لاستخدامه لأغراض شخصية أو تعليمية أو تجارية دون أي قيود أو متطلبات إسناد.
هل هذا يتطلب حساب؟
لا، الأداة جاهزة للاستخدام فورًا بدون تسجيل أو بريد إلكتروني أو تسجيل. فقط افتح الصفحة وابدأ في الإنشاء.
هل تظل بيانات الإدخال الخاصة بي خاصة؟
نعم. تتم كل المعالجة في متصفحك. لا يتم إرسال بيانات الإدخال والمخرجات التي تم إنشاؤها إلى أي خادم خارجي.
هل يجب أن أضيف الملح الخاص بي؟
لا، يقوم bcrypt بإنشاء ملح عشوائي وتخزينه تلقائيًا. إن إضافة الملح الخاص بك ليس ضروريًا ويمكن أن يسبب أخطاء دقيقة. استخدم توليد الملح الافتراضي للمكتبة.
هل تم إرسال كلمة المرور إلى الخادم؟
لا، تحدث تجزئة bcrypt في متصفحك. كلمة المرور لا تترك جهازك أبدًا.
لماذا توجد متغيرات $2a$، $2b$، $2y$؟
$2a$ هو الأصل. يعمل $2b$ على إصلاح خطأ شامل تم اكتشافه في عام 2014. $2y$ خاص بـ PHP، ويعادل وظيفيًا $2b$. يجب أن تنتج الأنظمة الجديدة تجزئة بقيمة 2 مليار دولار.
هل يمكنني تخفيض تكلفة التجزئة عالية التكلفة إلى تكلفة أقل؟
لا. تتضمن التجزئة التكلفة كجزء من المخرجات ويتطلب التحقق نفس التكلفة. لتغيير التكلفة، قم بإعادة التجزئة عند تسجيل الدخول الناجح التالي.