Password hashing with password_hash() and password_verify() In Hindi
पीएचपी प्रोग्रामिंग में बैकेंड सिस्टम डेटाबेस में पासवर्ड हैशिंग तकनीक मल्टीप्ल डेटाबेस यूजर पासवर्ड को सिक्योर फॉर्मेट में स्टोर और प्रोसेस करने में हेल्प करता है। यहाँ हैशिंग पासवर्ड मेथड डेटाबेस सिस्टम यूजर को एक स्पेसिफिक लेंथ फॉर्मेट स्ट्रिंग में कन्वर्ट करता है, जिसे कोई डेटाबेस यूजर आसानी से ओरिजिनल सिस्टम पासवर्ड में रिटर्न रिप्लेस नहीं कर सकता है। पीएचपी प्रोग्रम्मिंग में बिल्ट-इन फ़ंक्शन password_hash() और password_verify() फंक्शन डेटाबेस सिस्टम यूजर पासवर्ड को हैश कर और सिस्टम में उनके वेलिडेशन प्रोसेस को इजी और सिक्योर करता हैं।

पीएचपी प्रोग्रम्मिंग में सिस्टम डेटाबेस यूजर पासवर्ड सिक्योरिटी प्रोसेस को मैनेज करने के लिए password_hash() और password_verify() फ़ंक्शन को यूज़ कर सकते हैं.
Hashing passwords with password_hash() in PHP programming.
पीएचपी प्रोग्रामिंग लैंग्वेज में password_hash() फ़ंक्शन bcrypt मेथड को यूज़ करता है, जो की पीएचपी में डिफ़ॉल्ट सिक्योर पासवर्ड एक्टिविटीज है, यह फंक्शन एक स्ट्रांग हैशिंग एल्गोरिथम सोर्स कोड को यूज़ कर डेटाबेस सिस्टम यूजर पासवर्ड का एक सिक्योर हैश क्रिएट करता है। यह फंक्शन पासवर्ड सिक्योरिटी के लिए आटोमेटिक आर्डर में एक “सॉल्ट” रैंडम डेटा भी ऐड करता है. जिससे की यह तय हो सके कि एक ही सिस्टम में मल्टीप्ल यूजर पासवर्ड समान हो सकते है, पर इन यूजर अकॉउंट के हैश वैल्यू एक दूसरे से हमेशा डिफरेंट होंगे।
The syntax of password_hash().
password_hash($password, PASSWORD_DEFAULT);
element of password_hash() in PHP programming
- $password – यह एक सिंपल प्लैन-टेक्स्ट स्ट्रिंग फॉर्मेट में होता है, जिसको डेटाबेस यूजर हैश करना चाहते हैं।
- PASSWORD_DEFAULT – यह डेटाबेस यूजर पासवर्ड सिक्योरिटी के लिए एक डिफ़ॉल्ट एल्गोरिथम bcrypt कांसेप्ट है, जबकि यहाँ डेटाबेस एडमिनिस्ट्रेटर किसी अदर एल्गोरिथम को भी इंडीकेट या यूज़ कर सकते हैं।
Example of password hashing in PHP programming.
<?php
// here we see a database employee plain-text simple password
$password = ‘sample_secure_password’;
// here we use Hash the password function method
$hashedPassword = password_hash($password, PASSWORD_DEFAULT);
// here we Store the $hashedPassword in system employee database (NOT in the plain password with the hash algorithm with bcrypt)
echo “Hash Password – ” . $hashedPassword;
?>
Explanation of password hashes.
- इस प्रोग्राम में password_hash() फ़ंक्शन पासवर्ड का एक हैश किया हुआ वर्जन को रिटर्न करता है। रिजल्ट के रूप में एक लंबी पासवर्ड स्ट्रिंग होती है, इसमें यूजर पासवर्ड एल्गोरिथम, कॉस्ट फैक्टर और सॉल्ट एलिमेंट मौजूद होते हैं।
- प्रोग्राम में यह हैश फंक्शन मेथड डेटाबेस यूजर के डेटाबेस में स्टोर होना चाहिए, एक सिंपल प्लैन टेक्स्ट फॉर्मेट में नहीं होना चाहिए।
Verifying passwords with the password_verify() function in PHP programming.
जब ऑथेंटिकेट डेटाबेस सिस्टम में कोई यूजर मैन्युअल लॉग इन करता है, तो डेटाबेस सिस्टम एडमिनिस्ट्रेटर को यह चेक करना होगा कि यूजर के द्वारा एंटर किया गया यूजर पासवर्ड मौजूदा डेटाबेस में स्टोर हैश किए गए वर्जन से प्रॉपर मैच होता है, या नहीं है। यहाँ पीएचपी का password_verify() फ़ंक्शन डेटाबेस यूजर द्वारा एंटर किए गए सिंपल-टेक्स्ट यूजर पासवर्ड की तुलना पहले से स्टोर हैश से करता है, और उसे अंत में वेरीफाई या ऑथेंटिकेट करता है।
The syntax of the password_verify() function.password_verify($password, $hash).
Elements of the password_verify() function.
- $password – इसमें डेटाबेस यूजर द्वारा एंटर की गई सिंपल-टेक्स्ट पासवर्ड इनफार्मेशन होती है।
- $hash – इसमें यूजर डेटाबेस एल्गोरिथ्म्स में स्टोर हैश किया गया पासवर्ड इनफार्मेशन होती है।
Example for verifying a database user password.
<?php
// here The database user entered the password
$enteredPassword = ‘sample_secure_password’;
// here The user database hashed password stored in the database
$storedHashedPassword = ‘$4334$1kjhkj3be9eggf44u0kEOeOBHHRcdgffhjkQ989090l6adfww’;
// here it Verify the entered user password against the stored hash algorithms
if (password_verify($enteredPassword, $storedHashedPassword)) {
echo “Valid Password enter”;
} else {
echo “Incorrect password enter”;
}
?>
Explanation of verifying a database user password.
- इस प्रोग्राम में password_verify() फ़ंक्शन यह चेक करता है कि डेटाबेस यूजर द्वारा एंटर किया गया पासवर्ड हैश होने पर मौजूदा डेटाबेस में स्टोर हैश एल्गोरिथ्म से मैच होता है या नहीं है।
- यदि यूजर द्वारा एंटर पासवर्ड डेटाबेस से मेल होता हैं, तो यह true वैल्यू को रिटर्न करता है, और अन्यथा यह false वैल्यू को रिटर्न करता है।
How to store hashed individual passwords in the system user database.
मौजूदा सिस्टम डेटाबेस में password_hash() फंक्शन के साथ यूजर पासवर्ड को हैश करने के बाद डेटाबेस यूजर को इस पासवर्ड को डेटाबेस में स्टोर करना होगा। यहाँ आपको डेटाबेस यूजर कैसे हैश पासवर्ड को स्टोर करे इसका एक्साम्प्ल दिया गया है.
Example of storing hashed individual passwords.
<?php
// here this Example connection to MySQL using mysqli database connection for php
$conn = new mysqli(‘localhost’, ‘username’, ‘password’, ‘database’);
// here it Check if the database connection was successful or not
if ($conn->connect_error) {
die(“Connection unsuccess – ” . $conn->connect_error);
}
// here we use database User simple plain-text password
$password = ‘sample_secure_password’;
// here we use Hash the password
$hashedPassword = password_hash($password, PASSWORD_DEFAULT);
// here we Insert the hashed password into the database system
$sql = “INSERT INTO employee (emp_name, password) VALUES (‘siddhi123!@’, ‘$hashedPassword’)”;
if ($conn->query($sql) === TRUE) {
echo “Finally New employee database record created”;
} else {
echo “Display Error – ” . $sql . “<br>” . $conn->error;
}
$conn->close();
?>
Explanation of storing hashed individual passwords.
- इस प्रोग्राम में सिंपल प्लैन-टेक्स्ट वाले डेटाबेस यूजर पासवर्ड को password_hash() फंक्शन का यूज़ कर हैश किया जाता है, इसके बाद हैश किए गए यूजर पासवर्ड को डेटाबेस में इन्सर्ट किया जाता है।
- याद रखे, सिंपल प्लैन-टेक्स्ट यूजर वाले पासवर्ड को कभी भी डेटाबेस में स्टोर न करें।
Use of password rehashing (password_needs_rehash()).
याद रहे लम्बे समय अंतराल में डेटाबेस यूजर पासवर्ड हैशिंग एल्गोरिथम का डिफ़ॉल्ट कॉस्ट फैक्टर सिक्योरिटी कैपबिलिटी मॉडिफाई हो सकती है, वही डेटाबेस यूजर एक स्ट्रांग एल्गोरिथम से अपग्रेड करना चाह सकते हैं। इस प्रोसेस में password_needs_rehash() फ़ंक्शन डेटाबेस यूजर को यह चेक करने की परमिशन प्रोवाइड करता है कि क्या मौजूदा डेटाबेस यूजर पासवर्ड हैश को मैन्युअल अपडेट करने की जरूरत है. जैस, यदि मौजूदा पासवर्ड सिक्योरिटी में एल्गोरिथम या कॉस्ट फैक्टर मॉडिफाई हुआ है।
Syntax of password rehashing (password_needs_rehash()).
password_needs_rehash($hash, PASSWORD_DEFAULT, [‘cost’ => 12]);
Element of password rehashing (password_needs_rehash()).
- $hash – यह डेटाबेस सिस्टम में मौजूदा पासवर्ड को हैश करता है।
- PASSWORD_DEFAULT – यह वह एल्गोरिथम जिसे डेटाबेस यूजर पासवर्ड हैश के लिए यूज़ करना चाहते हैं, जैसे, bcrypt के लिए PASSWORD_DEFAULT मेथड है।
यहाँ अल्टरनेटिव कॉस्ट पैरामीटर डेटाबेस यूजर को कम्प्यूटेशन कॉस्ट को इंडीकेट करने की परमिशन प्रोवाइड करता है।
Example of a PHP password rehashing check.
<?php
// here is the user’s database password hash
$hashedPassword = ‘$4334$1kjhkj3be9eggf44u0kEOeOBHHRcdgffhjkQ989090l6adfww’;
// here we Check if the hash password needs to be rehashed
if (password_needs_rehash($hashedPassword, PASSWORD_DEFAULT, [‘cost’ => 14])) {
// here it Rehash the password and store the new hash with algorithms
$newHashedPassword = password_hash(‘sample_secure_password’, PASSWORD_DEFAULT, [‘cost’ => 14]);
echo “you need to Password rehashing, New hash method – ” . $newHashedPassword;
} else {
echo “your database Password hash up to date”;
}
?>
Explanation of the password rehashing check.
- यहाँ इस प्रोग्राम में password_needs_rehash() फ़ंक्शन चेक करता है कि क्या मौजूदा हैश एल्गोरिथ्म्स को अपडेट करने की जरूरत है, जैसे, यदि मौजूदा यूजर पासवर्ड में हैशिंग एल्गोरिथम या कॉस्ट फैक्टर मॉडिफाई हो गया है।
- यदि मौजूदा डेटाबेस में यूजर पासवर्ड को हैश को री हैश करने की जरूरत है, तो डेटाबेस यूजर एक नया हैश जनरेट कर सकते हैं, और उसे मौजूदा डेटाबेस में स्टोर कर सकते हैं।
Why use password_hash() and password_verify() in PHP programming?
- Security – यहाँ password_hash() फंक्शन डिफ़ॉल्ट रूप से bcrypt हैश एल्गोरिथम को यूज़ करता है, जिसे स्पेशल फॉर्मेट में सिक्योर पासवर्ड हैशिंग के लिए डेवलप किया गया है। यह हैश कांसेप्ट में एक रैंडम सॉल्ट को ऐड करता है, जो की इसे रेनबो टेबल अटैक से प्रिवेंट करता है।
- Ease of use – हैश फ़ंक्शन हैशिंग, सॉल्टिंग और वेलिडेशन को आटोमेटिक आर्डर में मैनेज करते हैं, जिससे की एरर की पॉसिबिलिटी कम हो जाती है।
- Upgradeability – यदि यूजर डेटाबेस पासवर्ड के लिए एक बेहतर हैशिंग एल्गोरिथम या हाई कॉस्ट फैक्टर यूज़ किया जाता है, तो डेटाबेस यूजर password_needs_rehash() फंक्शन को यूज़ करके अपनी हैशिंग स्ट्रेटेजी को आसानी से अपग्रेड या मॉडिफाई कर सकते हैं।
Password hashing best practices.
- Never store plain-text passwords – याद रखे सिक्योर यूजर पासवर्ड डेटाबेस में स्टोर करने से पहले पासवर्ड को हमेशा हैश एल्गोरिथ्म्स अप्लाई करें।
- Use password_hash() for all password hashing – पासवर्ड हैश सिंपल, सिक्योर मेथड है, और बेस्ट प्रैक्टिसेज जैसे, salt और bcrypt एल्गोरिथ्म्स को यूज़ करता है।
- Check for rehashing – यहाँ डेटाबेस यूजर password_needs_rehash() फंक्शन को यूज़ करके समय-समय पर चेक करें कि स्टोर डेटाबेस पासवर्ड हैश को रीहैशिंग की जरूरत है, या नहीं है, जैसे यदि कॉस्ट फैक्टर मॉडिफाई हो जाता है।
- Use HTTPS – यहाँ आप तय करें कि आपकी वेबसाइट ऑनलाइन डेटाबेस ट्रांसमिशन के दौरान यूजर पासवर्ड इंटरसेप्शन को स्टॉप करने के लिए HTTPS इंटरनेट प्रोटोकॉल को यूज़ कर रहा है।
Conclusion of password hashing password_hash() and password_verify().
पीएचपी प्रोग्रामिंग में सिक्योर यूजर डेटाबेस पासवर्ड के लिए password_hash() और password_verify() फंक्शन का कंबाइड यूज़ पीएचपी में पासवर्ड मैनेजमेंट को सिक्योर और इजी करता है। सिस्टम में यूजर पासवर्ड की सिक्योरिटी और अनसिक्योर पासवर्ड मैनेजमेंट रिस्क को अवॉइड करने के लिए हमेशा इन फ़ंक्शन को यूज़ करें।

