Password Hashing
Password Hashing (सुरक्षित क्रेडेंशियल स्टोरेज)
प्लेनटेक्स्ट पासवर्ड को स्टोरेज के लिए एक निश्चित-लंबाई, अपरिवर्तनीय हैश मान में बदलने की प्रक्रिया, यह सुनिश्चित करते हुए कि भले ही डेटाबेस से समझौता हो जाए, मूल पासवर्ड आसानी से पुनर्प्राप्त नहीं किए जा सकते।
तकनीकी विवरण
पासवर्ड हैशिंग एल्गोरिदम ब्रूट-फ़ोर्स अटैक का विरोध करने के लिए जानबूझकर धीमे होने चाहिए: bcrypt (1999, समायोज्य वर्क फ़ैक्टर, 184-बिट आउटपुट), scrypt (2009, मेमोरी-हार्ड, GPU अटैक का विरोध करता है), और Argon2 (2015, Password Hashing Competition का विजेता, कॉन्फ़िगर करने योग्य समय/मेमोरी/पैरेललिज़्म)। प्रत्येक पासवर्ड को हैशिंग से पहले एक अद्वितीय यादृच्छिक साल्ट के साथ जोड़ा जाता है ताकि रेनबो टेबल अटैक को रोका जा सके। Pepper (एक सर्वर-साइड सीक्रेट) अतिरिक्त सुरक्षा जोड़ता है। कच्चे क्रिप्टोग्राफ़िक हैश (SHA-256) अनुपयुक्त हैं क्योंकि वे तेज़ होने के लिए डिज़ाइन किए गए हैं, जिससे GPU पर प्रति सेकंड अरबों अनुमान संभव होते हैं। OWASP प्राथमिक विकल्प के रूप में Argon2id की सिफ़ारिश करता है।
उदाहरण
```
Password hashing comparison:
bcrypt: $2b$12$salt22chars..hash31chars..
Cost factor 12 → ~250ms per hash
argon2id: $argon2id$v=19$m=65536,t=3,p=4$salt$hash
Memory: 64MB, Iterations: 3, Parallelism: 4
Never use: MD5, SHA-256 alone (too fast → brute-forceable)
```