का उपयोग करके एन्क्रिप्टेड होने के बाद मेल नहीं खाता है, मैंने अपनी पुरानी पोस्ट को संशोधित किया है। मैंने क्रिप्ट() फ़ंक्शन का प्रयास किया और अब डेटाबेस से आने वाले एन्क्रिप्टेड पासवर्ड को सत्यापित करने के लिए password_hash() और password_verify() के साथ काम करने का प्रयास कर रहा है लेकिन प्रत्येक कॉल पर, password_hash() फ़ंक्शन एक अलग एन्क्रिप्टेड स्ट्रिंग को रोकता है और password_verify() इसे मेल नहीं कर सकता है।पासवर्ड क्रिप्ट() और password_hash() फ़ंक्शन
इस तरह मैं यह कर रहा हूं।
//please ignore the syntax error if any
$data = '11';
$dbpass = password_hash($data, PASSWORD_BCRYPT);
echo $dbpass; // displays the random strings on each page refresh.
डेटाबेस में पासवर्ड सहेजा जाने के बाद लॉगिन प्रक्रिया के दौरान मेल नहीं मिलता है। नीचे मेरा वास्तविक कार्य है।
private function process_data($password){
$password = __STR.$password.__STR;
return password_hash($password, PASSWORD_BCRYPT);
}
private function processed($login_password, $dbpassword){
$login_password = __STR.$login_password.__STR;
return password_verify($login_password, $dbpassword);
}
पासवर्ड के लिए हैश स्ट्रिंग बनाने के लिए प्रत्येक फ़ंक्शन कॉल पर, फ़ंक्शन अगली बार अलग स्ट्रिंग देता है।
कृपया पढ़ें कि आपको हैश पासवर्ड में एमडी 5 का उपयोग क्यों नहीं करना चाहिए: http://www.php.net/manual/en/faq.passwords.php – Tchoupi
मुझे विश्वास है (और कई स्थानों पर पढ़ा है) यह बेहतर अभ्यास है प्रत्येक पासवर्ड को अपना नमक देने के लिए। – Ethan
आपके साथ सहमत हुए। मैंने देखा है कि एमडी 5 एन्क्रिप्शन के विपरीत इंटरनेट पर आसानी से उपलब्ध है। लेकिन मैंने हैकर को यह पता लगाने में कठिनाई करने के लिए इसमें नमक जोड़ने की कोशिश की कि यह पासवर्ड क्या है। क्या यह एक अच्छा विचार नहीं है? मैं हमेशा एक विशेषज्ञ राय की तलाश करता हूं। –