بيكريبت (Bcrypt)
بيكريبت هو خوارزمية لتشفير كلمات المرور تم تصميمها لتكون آمنة وفعالة. تم تطويرها في الأصل من قبل ناثان سوتير في عام 1999، وهي تعتمد على خوارزمية Blowfish. تعتبر بيكريبت واحدة من أكثر الطرق شيوعًا لتخزين كلمات المرور بشكل آمن، حيث توفر حماية قوية ضد هجمات القوة الغاشمة (Brute Force Attacks) وهجمات القاموس (Dictionary Attacks).
كيف تعمل بيكريبت؟
تعمل خوارزمية بيكريبت عن طريق استخدام عملية تسمى “التمويه” (Salting) والتي تضيف قيمة عشوائية إلى كلمة المرور قبل تشفيرها. هذا يعني أنه حتى لو كانت كلمتان مرور متطابقتان، فإن القيم المشفرة الناتجة ستكون مختلفة بسبب القيم العشوائية المضافة. هذا يجعل من الصعب على المهاجمين استخدام جداول مسبقة (Rainbow Tables) لاختراق كلمات المرور.
عند استخدام بيكريبت، يتم تنفيذ الخطوات التالية:
- توليد قيمة تمويه عشوائية.
- دمج قيمة التمويه مع كلمة المرور.
- تشفير النتيجة باستخدام خوارزمية Blowfish.
- تخزين القيمة المشفرة وقيمة التمويه في قاعدة البيانات.
مزايا استخدام بيكريبت
- الأمان العالي: توفر بيكريبت مستوى عالٍ من الأمان بفضل عملية التمويه والتشفير القوي.
- المرونة: يمكن ضبط عدد التكرارات (Cost Factor) في خوارزمية بيكريبت، مما يسمح بتعديل مستوى الأمان حسب الحاجة.
كيفية استخدام بيكريبت
يمكن استخدام بيكريبت في العديد من لغات البرمجة، بما في ذلك PHP وPython وJava. إليك مثالًا بسيطًا عن كيفية استخدام بيكريبت في لغة PHP:
$password = "كلمة المرور الخاصة بك";
$hashedPassword = password_hash($password, PASSWORD_BCRYPT);
في هذا المثال، يتم استخدام الدالة password_hash لتشفير كلمة المرور. يتم تمرير كلمة المرور كأول معطى، بينما يتم تمرير الثابت PASSWORD_BCRYPT كمعطى ثانٍ لتحديد خوارزمية التشفير.
التحقق من كلمة المرور
بعد تشفير كلمة المرور، تحتاج إلى التحقق من صحة كلمة المرور المدخلة من قبل المستخدم عند تسجيل الدخول. يمكنك القيام بذلك باستخدام الدالة password_verify في PHP كما يلي:
$inputPassword = "كلمة المرور المدخلة";
if (password_verify($inputPassword, $hashedPassword)) {
echo "كلمة المرور صحيحة!";
} else {
echo "كلمة المرور غير صحيحة.";
}
تقوم الدالة password_verify بمقارنة كلمة المرور المدخلة مع القيمة المشفرة المخزنة. إذا كانت القيم متطابقة، فإنها تعيد القيمة true، مما يعني أن كلمة المرور صحيحة.
خاتمة
تعتبر بيكريبت واحدة من أفضل الخيارات لتشفير كلمات المرور، حيث توفر مستوى عالٍ من الأمان وتساعد على حماية البيانات الحساسة. من خلال استخدام عملية التمويه والتشفير القوي، يمكن للمطورين ضمان أن كلمات المرور المخزنة في قواعد البيانات آمنة ضد الهجمات الشائعة. إذا كنت تبحث عن طريقة موثوقة لتأمين كلمات المرور في تطبيقك، فإن بيكريبت هي الخيار المثالي.


