पंजीकरण पर आप एक अनूठा नमक बनाते हैं। वह नमक अब हैश का हिस्सा है। यदि आप बारीकी से देखते हैं, तो आप देखेंगे कि यह हैश के पहले भाग में एम्बेडेड है। पासवर्ड जांचने के लिए, पिछले हैश किए गए पासवर्ड के नमक का उपयोग करें, ताकि आप फिर से उसी नमक का उपयोग कर रहे हों।
$correctPasswordHash = getPasswordFromDatabase($_POST['username']);
$hash = crypt($_POST['password'], $correctPasswordHash);
if ($correctPasswordHash === $hash) ...
इसे आसान और अधिक फुलप्रूफ बनाने के लिए, password_compat लाइब्रेरी
का उपयोग करें , जो इसे उपयोग में आसान एपीआई में लपेटता है, जिसे PHP के भविष्य के संस्करण में भी एकीकृत किया जाएगा। crypt
. के सही उपयोग के लिए इसके स्रोत कोड का निरीक्षण करें , क्योंकि कुछ नुकसान हैं जिनका आपको ध्यान रखने की आवश्यकता है। Password_compat लाइब्रेरी एक साधारण ===
. के बजाय एक कस्टम बाइनरी तुलना का भी उपयोग कर रही है समय के हमलों को विफल करने के लिए।