bcrypt – पासवर्ड हैशिंग: Python में सुरक्षित पासवर्ड स्टोर करें

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

परिचय

आधुनिक सॉफ्टवेयर डेवलपमेंट में यूजर के पासवर्ड की सुरक्षा एक बेहद अहम काम है। बढ़ते साइबर खतरों के इस दौर में, MD5 या SHA-1 जैसे पुराने या सरल हैश फंक्शन का इस्तेमाल करना बड़ा जोखिम भरा हो सकता है। ये एल्गोरिदम rainbow table अटैक के लिए आसानी से टूट जाते हैं और इनकी गणना की रफ्तार बहुत तेज़ होती है, जिससे ये आधुनिक हैकिंग तरीकों के सामने कमज़ोर पड़ जाते हैं।

Bcrypt एक एडेप्टिव क्रिप्टोग्राफिक हैश फंक्शन है, जिसे खासतौर पर पासवर्ड को सुरक्षित रखने के लिए डिज़ाइन किया गया है। 1999 में Niels Provos और David Mazières द्वारा बनाया गया यह एल्गोरिदम Blowfish सिफर पर आधारित है और इसमें बिल्ट-इन सॉल्ट सिस्टम है, जो इसे कई तरह के हमलों से बेहद मजबूत बनाता है।

Python इकोसिस्टम में bcrypt एक ही नाम की लाइब्रेरी के ज़रिए उपलब्ध है, जो मूल OpenBSD इम्प्लीमेंटेशन का Python रैपर है। इस लाइब्रेरी का इस्तेमाल दुनिया भर में लाखों डेवलपर्स करते हैं और इसे Python ऐप्लिकेशन में पासवर्ड हैशिंग का गोल्ड स्टैंडर्ड माना जाता है।

bcrypt लाइब्रेरी क्या है

Python के लिए bcrypt लाइब्रेरी पासवर्ड को क्रिप्टोग्राफिक हैश करने का एक भरोसेमंद और समय-परीक्षित टूल है। यह मूल C इम्प्लीमेंटेशन पर एक Python रैपर है, जो हाई परफॉरमेंस और विश्वसनीयता सुनिश्चित करता है।

bcrypt की मुख्य विशेषताएं

एडेप्टिविटी: bcrypt की सबसे बड़ी ताकत इसकी एडेप्टिव प्रकृति है। "cost factor" पैरामीटर आपको कंप्यूटर की बढ़ती प्रोसेसिंग पावर के हिसाब से गणना की जटिलता बढ़ाने की सुविधा देता है, जिससे लंबे समय तक सुरक्षा मिलती है।

बिल्ट-इन सॉल्ट: हर हैश में अपने आप एक यूनिक सॉल्ट शामिल होता है, जो rainbow table के ज़रिए पासवर्ड क्रैक करने की संभावना को खत्म कर देता है।

क्रिप्टोग्राफिक मजबूती: Blowfish एल्गोरिदम का कई राउंड एन्क्रिप्शन के साथ उपयोग क्रिप्टोग्राफिक सुरक्षा का उच्च स्तर प्रदान करता है।

मानकीकरण: Bcrypt एक मानकीकृत फॉर्मेट का पालन करता है, जो अलग-अलग इम्प्लीमेंटेशन और प्लेटफॉर्म के बीच अनुकूलता सुनिश्चित करता है।

इंस्टॉलेशन और सेटअप

pip के ज़रिए इंस्टॉलेशन

bcrypt लाइब्रेरी को इंस्टॉल करना pip पैकेज मैनेजर के ज़रिए बेहद आसान है:

pip install bcrypt

सिस्टम आवश्यकताएं

bcrypt लाइब्रेरी के लिए न्यूनतम सिस्टम आवश्यकताएं इस प्रकार हैं:

  • Python 3.6 या उससे ऊपर
  • ऑपरेटिंग सिस्टम सपोर्ट: Windows, macOS, Linux
  • C एक्सटेंशन का ऑटोमैटिक कंपाइलेशन (कंपाइलर की आवश्यकता हो सकती है)

इंस्टॉलेशन की जांच

इंस्टॉल करने के बाद लाइब्रेरी की सही कार्यप्रणाली की जांच करें:

import bcrypt
print(bcrypt.__version__)

bcrypt के साथ काम करने की मूल बातें

एल्गोरिदम का काम करने का तरीका

Bcrypt निम्नलिखित योजना के अनुसार काम करता है:

  1. एक रैंडम सॉल्ट जनरेट करना
  2. तय संख्या में राउंड के साथ Blowfish एल्गोरिदम लागू करना
  3. अंतिम हैश बनाना, जिसमें सॉल्ट और पैरामीटर शामिल हों

आउटपुट हैश का फॉर्मेट

bcrypt का परिणामी हैश इस संरचना में होता है:

$2b$12$R9h/cIPz0gi.URNNX3kh2OPST9/PgBkqquzi.Ss7KIUgO2t0jWMUW

जहां:

  • $2b$ — एल्गोरिदम वर्जन का आइडेंटिफायर
  • 12 — cost पैरामीटर (राउंड की संख्या)
  • R9h/cIPz0gi.URNNX3kh2O — सॉल्ट (22 कैरेक्टर)
  • PST9/PgBkqquzi.Ss7KIUgO2t0jWMUW — असली हैश (31 कैरेक्टर)

त्वरित शुरुआत

bcrypt का बुनियादी उदाहरण:

import bcrypt

# पासवर्ड बाइट फॉर्मेट में होना चाहिए
password = b"supersecret123"

# हैश जनरेट करना
hashed = bcrypt.hashpw(password, bcrypt.gensalt())
print(f"हैश: {hashed}")

# पासवर्ड की जांच करना
if bcrypt.ch                    

अनुशंसाएँ