Bcrypt هي دالة تجزئة كلمات المرور مصممة لتكون بطيئة ومكلفة حسابياً، مما يجعلها مقاومة لهجمات القوة الغاشمة. إنها المعيار الصناعي لتخزين كلمات المرور بشكل آمن.
كيف يعمل Bcrypt
يستخدم Bcrypt تشفير Blowfish مع ملح ومعامل تكلفة. يحدد معامل التكلفة (الجولات) عدد التكرارات التي تؤديها الخوارزمية - كل زيادة تضاعف وقت الحساب، مما يجعل الهجمات أصعب بشكل أسي.
لماذا استخدام Bcrypt؟
على عكس MD5/SHA التي هي سريعة (سيئة لكلمات المرور)، bcrypt بطيء عمداً. هذا يجعل هجمات القوة الغاشمة غير عملية. تكلفة 10 تعني 2^10 (1,024) تكرار، تستغرق ~100 مللي ثانية للتجزئة - لا يكاد يذكر لتسجيل الدخول لكن مدمر للمهاجمين الذين يحاولون مليارات كلمات المرور.
أفضل ممارسات الأمان
استخدم تكلفة 10-12 لمعظم التطبيقات. التكلفة 10 هي الحد الأدنى الموصى به حالياً. لا تستخدم أبداً MD5 أو SHA-1 لكلمات المرور - إنها مكسورة. لا تخزن أبداً كلمات المرور النصية. استخدم دائماً bcrypt أو Argon2 أو scrypt لتجزئة كلمات المرور.