बात यह है कि... आपको स्टोर नमकीन, हैशेड करना चाहिए। पासवर्ड
डेटाबेस में। चूंकि ये व्यक्तिगत रूप से नमकीन . हैं प्रति उपयोगकर्ता/पासवर्ड, आप नहीं उन्हें सीधे password = ?
. के साथ देखें , क्योंकि आप नमक नहीं जानते हैं और इसलिए मिलान करने वाले हैश की अग्रिम गणना नहीं कर सकते हैं। अगर आप इसे ठीक से कर रहे हैं, तो आपको जरूरी उपयोगकर्ता रिकॉर्ड को पहले उपयोगकर्ता नाम से प्राप्त करें, फिर पुनर्प्राप्त नमक/हैश का उपयोग करके पासवर्ड हैश को सत्यापित करें। स्यूडोकोड:
$user = fetch_from_database($_POST['username']);
if (!$user) {
throw new Exception("User doesn't exist");
}
if (!password_verify($_POST['password'], $user['password_hash'])) {
throw new Exception('Invalid password');
}
echo 'Welcome ', $user['name'];
देखें http://php.net/password_hash , http://php.net/password_verify ।