"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > لماذا تختلف قيم التجزئة عند استخدام وظيفة Password_Hash؟

لماذا تختلف قيم التجزئة عند استخدام وظيفة Password_Hash؟

تم النشر بتاريخ 2024-11-07
تصفح:373

Why Do Hash Values Vary When Using the Password_Hash Function?

فهم قيم التجزئة المختلفة في وظيفة كلمة المرور_هاش

عند تطوير أنظمة المصادقة الآمنة، غالبًا ما يواجه المطورون الارتباك الناتج عن الحصول على تجزئات مختلفة لكلمة المرور باستخدام كلمة المرور_هاش وظيفة. لتوضيح هذا السلوك والتأكد من التحقق الصحيح من كلمة المرور، دعنا نحلل الآليات الكامنة وراء هذه الوظيفة.

تمليح كلمة المرور: ميزة متعمدة

تولد وظيفة تجزئة كلمة المرور عمدًا ملحًا فريدًا لكل كلمة مرور تجزئتها. يعد التمليح إجراءً أمنيًا مهمًا مصممًا لمنع المهاجمين من استغلال جداول قوس قزح المحسوبة مسبقًا أو تخمين قيم التجزئة الشائعة. مع اختلاف الأملاح، تصبح كل كلمة مرور مشفرة بشكل فريد، مما يزيد بشكل كبير من الجهد المطلوب لتسوية النظام.

معلمة التكلفة: تخصيص الأمن

لتعزيز أمان تجزئة كلمة المرور ، تتيح وظيفةpassword_hash للمطورين تحديد معلمة التكلفة. تتحكم هذه المعلمة في عدد التكرارات المستخدمة في خوارزمية التجزئة، وبالتالي زيادة الجهد الحسابي المطلوب لكسر التجزئة. افتراضيًا، يتم تعيين معلمة التكلفة على 10، وهو ما يمثل توازنًا معقولاً بين الأمان والكفاءة. لزيادة الأمان، يمكن للمطورين زيادة هذه القيمة، كما هو موضح في الكود التالي:

$password = كلمة المرور_hash($password4, PASSWORD_DEFAULT, ['cost' => 15]);
$password = password_hash($password4, PASSWORD_DEFAULT, ['cost' => 15]);

التحقق: مقارنة التجزئة

عند التحقق من كلمات المرور، من الضروري التأكد من أن كلمة المرور غير المشفرة التي قدمها المستخدم قد تم تجزئتها بشكل صحيح قبل مقارنتها بالتجزئة المخزنة. يتم ذلك باستخدام وظيفة التحقق من كلمة المرور:

if(password_verify($password4, $dbpassword))
$password = password_hash($password4, PASSWORD_DEFAULT, ['cost' => 15]);
في مقتطف الرمز هذا، يمثل $password4 كلمة المرور التي أدخلها المستخدم (والتي لم يتم تجزئتها)، ويمثل $dbpassword كلمة المرور المجزأة المخزنة في قاعدة البيانات الخاصة بك. من خلال مقارنة القيمتين المجزأتين، ترجع الدالة صحيحًا إذا تطابقت كلمات المرور، مما يسمح بمواصلة المصادقة.

بيان الافراج أعيد طبع هذه المقالة على: 1729133237 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3