अपने आप पर एक एहसान करें और एक मानक पुस्तकालय का उपयोग करें अपने पासवर्ड हैश करने के लिए।
चूंकि सुरक्षा बहुत अधिक जटिल होती है और अधिकांश प्रोग्रामर अकेले निपटने की तुलना में अधिक अदृश्य स्क्रू अप संभावनाओं के साथ, मानक पुस्तकालय का उपयोग करना लगभग हमेशा सबसे आसान और सबसे सुरक्षित (यदि एकमात्र नहीं) उपलब्ध विकल्प होता है।
मानक पुस्तकालय :
एक नज़र डालें:पोर्टेबल PHP पासवर्ड हैशिंग फ्रेमवर्क
:phpass और सुनिश्चित करें कि आप CRYPT_BLOWFISH
. का उपयोग करते हैं यदि संभव हो तो एल्गोरिदम।
Phpass (v0.2) का उपयोग कर कोड का उदाहरण:
require('PasswordHash.php');
$pwdHasher = new PasswordHash(8, FALSE);
// $hash is what you would store in your database
$hash = $pwdHasher->HashPassword( $password );
// $hash would be the $hashed stored in your database for this user
$checked = $pwdHasher->CheckPassword($password, $hash);
if ($checked) {
echo 'password correct';
} else {
echo 'wrong credentials';
}
PHPass को कुछ प्रसिद्ध परियोजनाओं में लागू किया गया है:
- phpBB3
- वर्डप्रेस 2.5+ और साथ ही bbPress
- Drupal 7 रिलीज़, (Drupal 5 और 6 के लिए मॉड्यूल उपलब्ध)
- others
अच्छी बात यह है कि आपको विवरणों के बारे में चिंता करने की आवश्यकता नहीं है, उन विवरणों को अनुभव वाले लोगों द्वारा प्रोग्राम किया गया है और इंटरनेट पर कई लोगों द्वारा समीक्षा की गई है।
आप जो कुछ भी करते हैं यदि आप 'मैं इसे स्वयं करूँगा, धन्यवाद ' दृष्टिकोण, MD5
का उपयोग न करें अब और . यह एक अच्छा हैशिंग एल्गोरिथम है, लेकिन सुरक्षा उद्देश्यों के लिए पूरी तरह से टूटा हुआ है ।
वर्तमान में, crypt
का उपयोग कर रहे हैं , CRYPT_BLOWFISH के साथ सर्वोत्तम अभ्यास है।
PHP में CRYPT_BLOWFISH Bcrypt हैश का कार्यान्वयन है। Bcrypt, ब्लोफिश ब्लॉक सिफर पर आधारित है, जो एल्गोरिथम को धीमा करने के लिए अपने महंगे कुंजी सेटअप का उपयोग करता है।
पासवर्ड भंडारण योजनाओं के बारे में अधिक जानकारी के लिए, आप Jeff भी पढ़ सकते हैं। इसके बारे में `s ब्लॉग पोस्ट:आप शायद पासवर्ड गलत तरीके से स्टोर कर रहे हैं