مولد Bcrypt
إنشاء والتحقق من تجزئة كلمات مرور bcrypt عبر الإنترنت. عامل تكلفة قابل للتعديل، salt مدمج، معاينة مباشرة للتجزئة. تتم جميع المعالجات محلياً في متصفحك.
ما هو bcrypt؟
Bcrypt هي دالة تجزئة كلمات مرور صممها Niels Provos وDavid Mazières، بناءً على شفرة Blowfish. مصممة خصيصاً لتخزين كلمات المرور بأمان وهي واحدة من أكثر خوارزميات تجزئة كلمات المرور استخداماً في العالم.
كيف يعمل bcrypt؟
يأخذ bcrypt كلمة مرور وsalt كمدخلات، ثم يشغل عملية إعداد مفتاح مكلفة (Eksblowfish) تنتج تجزئة بطول ثابت. تتضمن التجزئة معرف الخوارزمية وعامل التكلفة وsalt وقيمة التجزئة الفعلية.
ما هو عامل التكلفة في bcrypt؟
عامل التكلفة هو رقم من 4 إلى 31 يحدد عدد تكرارات إعداد المفتاح. كل زيادة تضاعف وقت الحساب. عامل تكلفة 10 يعني 2^10 = 1024 تكرار. القيم الموصى بها هي 10-12 لمعظم التطبيقات.
ما هو salt ولماذا هو مهم؟
Salt هي قيمة عشوائية بطول 128 بت فريدة لكل تجزئة كلمة مرور. تمنع المهاجمين من استخدام جداول قوس قزح المحسوبة مسبقاً وتضمن أن كلمات المرور المتطابقة تنتج تجزئات مختلفة. يولد bcrypt الـ salt تلقائياً ويضمنها في مخرج التجزئة.
هل لا يزال bcrypt آمناً في 2025؟
نعم، لا يزال bcrypt أحد خوارزميات تجزئة كلمات المرور الموصى بها. رغم وجود خوارزميات أحدث مثل Argon2، يُعتبر bcrypt آمناً عند استخدامه مع عامل تكلفة مناسب (12 أو أعلى).
ما هو الحد الأقصى لطول كلمة المرور في bcrypt؟
الحد الأقصى لطول المدخلات في bcrypt هو 72 بايت. كلمات المرور الأطول من 72 بايت يتم اقتطاعها بصمت. لكلمات المرور الأطول، يُنصح بالتجزئة المسبقة باستخدام SHA-256 قبل تطبيق bcrypt.
كيف يقارن bcrypt مع MD5 وSHA-256 ودوال التجزئة الأخرى؟
على عكس MD5 وSHA-256 المصممة للسرعة، bcrypt بطيء عمداً ومكلف حسابياً. دوال التجزئة العامة يمكن حسابها مليارات المرات في الثانية، مما يجعلها عرضة لهجمات القوة الغاشمة.
ما هو تنسيق تجزئة bcrypt؟
تتبع تجزئة bcrypt التنسيق: $2b$cost$salt+hash. مثال: $2b$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy. البادئة $2b$ تحدد إصدار الخوارزمية، يليها عامل التكلفة وsalt بطول 22 حرف وتجزئة بطول 31 حرف.
ما الفرق بين $2a$ و$2b$ و$2y$؟
هذه معرفات إصدارات bcrypt. $2a$ هو الإصدار الأصلي، $2b$ يصحح مشكلة صغيرة في معالجة طول كلمة المرور في OpenBSD، و$2y$ هو المتغير الخاص بـ PHP.
هل استخدام مولد bcrypt عبر الإنترنت آمن؟
عندما تتم المعالجة بالكامل في متصفحك (جانب العميل)، فهو آمن تماماً. لا يتم إرسال أي بيانات كلمة مرور إلى أي خادم. تعالج هذه الأداة كل شيء محلياً باستخدام JavaScript.
كيف أختار عامل التكلفة المناسب؟
يجب أن يكون عامل التكلفة أعلى ما يمكن مع الحفاظ على سرعة إنشاء التجزئة مقبولة. قاعدة جيدة: اختر العامل الذي يجعل التجزئة تستغرق حوالي 250-500 مللي ثانية على خادمك.
هل يمكن استخدام bcrypt لتشفير البيانات؟
لا، bcrypt هي دالة تجزئة أحادية الاتجاه وليست خوارزمية تشفير. لا يمكن عكسها لاستعادة كلمة المرور الأصلية. مصممة فقط للتحقق من كلمات المرور.
لماذا bcrypt بطيء بالتصميم؟
Bcrypt بطيء عمداً لجعل هجمات القوة الغاشمة والقواميس مكلفة حسابياً. بينما يمكن لدالة التجزئة العادية معالجة ملايين كلمات المرور في الثانية، يعالج bcrypt بضع مئات فقط.
كيف أتحقق من كلمة مرور مقابل تجزئة bcrypt؟
للتحقق، استخرج salt وعامل التكلفة من التجزئة المخزنة، شغل bcrypt بنفس المعاملات على كلمة المرور المدخلة، وقارن التجزئة الناتجة بالتجزئة المخزنة. إذا تطابقت، فكلمة المرور صحيحة.