Salt هو قيمة عشوائية يتم إضافتها إلى كلمة المرور قبل تشفيرها، مما يجعل الهجمات مثل Rainbow Table وBrute Force أقل فعالية.
🔍 لماذا نستخدم Salt؟
✅ يجعل كل كلمة مرور فريدة حتى لو كانت متطابقة.
✅ يمنع المهاجمين من استخدام جداول مسبقة لفك التشفير بسهولة.
✅ يعمل بشكل مثالي مع خوارزميات مثل bcrypt وSHA256.
🔐 كيف نضيف Salt إلى كلمات المرور؟
✅ 1. إنشاء Salt عشوائي داخل PHP
🔹 يمكن استخدام random_bytes()
لإنشاء قيمة عشوائية.
php
$salt = bin2hex(random_bytes(16));
$password = "mypassword";
$hashedPassword = password_hash($salt . $password, PASSWORD_BCRYPT);
echo $hashedPassword;
✅ 2. التحقق من كلمة المرور المشفرة مع Salt
🔹 يجب تخزين Salt
مع كلمة المرور واسترجاعه عند التحقق.
php
$enteredPassword = "mypassword";
if (password_verify($salt . $enteredPassword, $hashedPassword)) {
echo "كلمة المرور صحيحة!";
} else {
echo "كلمة المرور خاطئة!";
}
⚡ ما الفرق بين Salt وPepper؟
🔹 Salt يُخزن مع كلمة المرور ويكون فريدًا لكل مستخدم.
🔹 Pepper هو مفتاح تشفير ثابت يُضاف إلى جميع كلمات المرور ويُخزن خارج قاعدة البيانات.