यह क्या करता है
bcrypt पासवर्ड हैश करने का एक फ़ंक्शन है जिसे जान-बूझकर धीमा बनाया गया है। MD5 या SHA-256 को प्रति सेकंड अरबों बार निकाला जा सकता है, जबकि bcrypt में बदली जा सकने वाली कॉस्ट होती है, जिससे आपका डेटाबेस चुराने वाले हमलावर के लिए हर अनुमान महँगा हो जाता है। Argon2 और scrypt के साथ यह आज भी पासवर्ड सेव करने के सबसे आम तरीकों में से एक है।
यह टूल दो काम करता है:
- हैश बनाएँ: चुनी गई कॉस्ट और वर्ज़न प्रीफ़िक्स के साथ पासवर्ड को bcrypt हैश में बदलें।
- जाँचें: देखें कि पासवर्ड किसी मौजूदा bcrypt हैश से मेल खाता है या नहीं, जैसे आपके डेटाबेस या किसी फ़्रेमवर्क की seed फ़ाइल का हैश।
इस्तेमाल कैसे करें
- पासवर्ड लिखें या उदाहरण पर क्लिक करें।
- हैश बनाएँ मोड में कॉस्ट और वर्ज़न चुनें। हैश तुरंत दिखता है; दूसरा हैश पाने के लिए नया सॉल्ट दबाएँ।
- जाँचें मोड में जाँचने के लिए bcrypt हैश पेस्ट करें। नतीजा बताएगा कि पासवर्ड मेल खाता है या नहीं।
bcrypt हैश कैसे पढ़ें
$2b$10$./3kakECWB0QfIgYzIqciuv449HNnwGbgExtJQQwQ1MofonthOdoK जैसे हैश के चार हिस्से होते हैं: वर्ज़न 2b, कॉस्ट 10 (की-सेटअप के 2¹⁰ राउंड), 22 अक्षरों का सॉल्ट और 31 अक्षरों का चेकसम। बाद में पासवर्ड जाँचने के लिए सर्वर को जो कुछ चाहिए, सब इसी एक स्ट्रिंग में है, इसलिए आप सिर्फ़ हैश सेव करते हैं।
ध्यान रखने वाली सीमाएँ
bcrypt पासवर्ड के सिर्फ़ पहले 72 बाइट पढ़ता है। इससे लंबे पासवर्ड, या बहुत सारे non-ASCII अक्षरों वाले पासवर्ड (UTF-8 में हर अक्षर 2–4 बाइट), बिना बताए कट जाते हैं। ऐसा होने पर टूल चेतावनी देता है। अगर बहुत लंबे पासफ़्रेज़ स्वीकार करने हैं, तो पहले उन्हें हैश करें या Argon2id पर विचार करें।
अक्सर पूछे जाने वाले सवाल
› एक ही पासवर्ड का हर बार अलग हैश क्यों बनता है?
हर हैश में एक नया रैंडम 16-बाइट सॉल्ट इस्तेमाल होता है, जो हैश के अंदर ही सेव रहता है। यह जान-बूझकर है ताकि एक जैसे पासवर्ड का एक जैसा हैश न बने। पासवर्ड जाँचने के लिए हैश स्ट्रिंग मिलाने की बजाय जाँचें मोड इस्तेमाल करें।
› कौन-सी कॉस्ट रखनी चाहिए?
हर लॉगिन पर आपका सर्वर जितनी ज़्यादा कॉस्ट झेल सके उतनी चुनें, आजकल आम तौर पर 10 से 12। हर कदम काम को दोगुना करता है। प्रोडक्शन हार्डवेयर पर मापें; प्रति हैश लगभग 100–300 ms एक आम लक्ष्य है।
› $2a$, $2b$ और $2y$ में क्या फ़र्क है?
एल्गोरिदम एक ही है। $2b$ OpenBSD का मौजूदा प्रीफ़िक्स है, $2y$ PHP का password_hash लिखता है और $2a$ पुराना है। ज़्यादातर लाइब्रेरी तीनों स्वीकार करती हैं, इसलिए वही चुनें जो आपका सिस्टम चाहता है।
› क्या मेरा पासवर्ड कहीं भेजा जाता है?
नहीं। हैशिंग और जाँच आपके ब्राउज़र में होती है। पासवर्ड और जाँचा जा रहा हैश सिर्फ़ इस पेज की मेमोरी में रहते हैं; न सेव होते हैं, न शेयर लिंक में जोड़े जाते हैं।