تخطَّ إلى المحتوى

password_hash()

تجزئة كلمة المرور password_hash()

تُنتج نصًّا مُجزَّأً آمنًا لكلمة مرور، يحتوي الخوارزمية والملح (salt) والنتيجة معًا.

password_hash(password, algo, options) هي الطريقة الرسمية والآمنة لتجزئة كلمات المرور في PHP. PASSWORD_DEFAULT يختار أقوى خوارزمية مدعومة حاليًا (bcrypt وقت كتابة هذا المرجع) وقد تتغيّر تلقائيًا مستقبلًا — لذلك خزّن الناتج في عمود واسع (255 حرفًا مقترح).

لا حاجة لتخزين ملح منفصل: الـ hash الناتج يحمل كل ما يلزم للتحقّق لاحقًا عبر password_verify(). لا تستخدم md5() أو sha1() لكلمات المرور أبدًا — صُمّمتا للسرعة لا للأمان.

الصياغة

password_hash(string $password, string|int|null $algo, array $options = []): string

📄 مثال

$hash = password_hash($_POST["password"], PASSWORD_DEFAULT);
// خزّن $hash في عمود VARCHAR(255)

أهم النقاط

العنصرالوظيفة
PASSWORD_DEFAULTأقوى خوارزمية مدعومة حاليًا (bcrypt)، قد تتغيّر مستقبلًا
PASSWORD_BCRYPTفرض bcrypt صراحة بدل الافتراضي المتغيّر

💡 نصائح عملية

  • لا تمرّر salt يدويًا — password_hash يولّده تلقائيًا من مصدر عشوائي آمن

⚠️ أخطاء شائعة

  • استخدام md5()/sha1() لكلمات المرور
  • عمود تخزين ضيّق لا يتّسع لطول hash الحديث (استخدم 255 حرفًا)

خصائص ذات صلة

🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار PHP الكامل بالعربي.