आप इनपुट को हैश नहीं कर सकते हैं और फिर डेटाबेस में उसके खिलाफ क्वेरी कर सकते हैं, क्योंकि हैश हर बार एक अलग यादृच्छिक नमक का उपयोग करेगा। तो आप एक ही पासवर्ड को एक हजार बार हैश कर सकते हैं और 1000 अलग-अलग परिणाम प्राप्त कर सकते हैं।
आपको उपयोगकर्ता नाम से संबंधित रिकॉर्ड के लिए बस डीबी से पूछताछ करने की जरूरत है, फिर डीबी से लौटाए गए पासवर्ड हैश की तुलना password_verify()
का उपयोग करके इनपुट पासवर्ड से करें। ।
साथ ही, प्रारंभ में पासवर्ड बनाने पर डीबी को हैश लिखते समय (password_hash()
. का उपयोग करके) ) हैश से बचने की कोई जरूरत नहीं है। password_hash()
पासवर्ड सत्यापन प्रक्रिया में बिल्कुल भी उपयोग नहीं किया जाता है।