Argon2 هو أحدث وأقوى خوارزمية لتشفير كلمات المرور، وهو أكثر أمانًا من bcrypt لأنه يوفر مقاومة أكبر لهجمات القوة الغاشمة (Brute Force) مع إدارة محسّنة للذاكرة.

🔹 لماذا يعتبر Argon2 أكثر أمانًا؟

صعب الفك حتى مع الأجهزة المتقدمة.

يستهلك كمية كبيرة من الذاكرة لمنع الهجمات عبر وحدات معالجة الرسومات (GPU).

✅ يدعم ثلاثة أنواع مختلفة لتناسب احتياجات الأمان المختلفة:

🔹 Argon2d

– مقاوم لهجمات القنوات الجانبية (Side-Channel Attacks).

🔹 Argon2i

– الأكثر أمانًا ضد الهجمات المستندة إلى القاموس (Dictionary Attacks).

🔹 Argon2id

– مزيج من الاثنين للحصول على أفضل حماية.

🔍 كيف نستخدم Argon2 في PHP؟

1. تشفير كلمة المرور عند التسجيل

🔹 استخدم password_hash() مع PASSWORD_ARGON2ID لتشفير البيانات.

php

$password = "mypassword";
$hashedPassword = password_hash($password, PASSWORD_ARGON2ID);
echo $hashedPassword;

2. التحقق من كلمة المرور عند تسجيل الدخول

🔹 استخدم password_verify() لمقارنة إدخال المستخدم مع التشفير المخزن.

php

$enteredPassword = "mypassword";
if (password_verify($enteredPassword, $hashedPassword)) {
    echo "كلمة المرور صحيحة!";
} else {
    echo "كلمة المرور خاطئة!";
}

3. ضبط خيارات التشفير لمزيد من الأمان

🔹 يمكنك تخصيص مقدار الذاكرة المستخدمة، عدد التكرارات، وعدد سلاسل التنفيذ لتوفير طبقة أمان أقوى.

php

$options = [
    'memory_cost' => 65536,  
    'time_cost'   => 4,  
    'threads'     => 2,  
];

$hashedPassword = password_hash("mypassword", PASSWORD_ARGON2ID, $options);
echo $hashedPassword;

مقارنة بين Argon2 و bcrypt

الميزاتArgon2bcrypt
قوة التشفيرعالية جدًا 🔥قوية لكن أقل من Argon2
مقاومة الهجماتممتازة ضد Brute Force وGPUقوية ضد Brute Force ولكن أقل مقاومة لـ GPU
إدارة الموارديستخدم الذاكرة المكثفةيعتمد أكثر على وحدة المعالجة
دعم PHPمدعوم من PHP 7.2+مدعوم من إصدارات أقدم

التعليقات مغلقة.