Bcrypt जनरेटर

2 रेटिंग्स में से 5
Bcrypt जनरेटर

Bcrypt जनरेटर एक मुफ़्त टूल है, जो किसी भी स्ट्रिंग इनपुट से bcrypt पासवर्ड हैश बनाता है, ताकि पासवर्ड सुरक्षित तरीके से स्टोर किए जा सकें।

bcrypt क्या है, और क्या यह अब भी सुरक्षित है?

Bcrypt पासवर्ड हैशिंग का एक एल्गोरिदम है। सही कॉस्ट के साथ कॉन्फ़िगर किए जाने पर इसे अब भी पासवर्ड स्टोर करने के लिए स्वीकार्य माना जाता है, हालांकि नए सिस्टम में अक्सर Argon2id को प्राथमिकता दी जाती है। Niels Provos और David Mazières ने 1999 में bcrypt बनाया था। इसमें Blowfish cipher की key-scheduling प्रक्रिया का उपयोग किया गया, ताकि पासवर्ड का हर अनुमान जानबूझकर महंगा पड़े।

हैशिंग एकतरफा प्रक्रिया है। इसलिए कोई ऐप्लिकेशन मूल पासवर्ड वापस पाने के बजाय, स्टोर किए गए पैरामीटर के तहत दिए गए पासवर्ड को हैश करके उसकी जांच करता है। SHA-3 जैसे सामान्य उपयोग वाले एल्गोरिदम से अलग, bcrypt एक निश्चित लंबाई वाला संपूर्ण एन्कोडेड रिकॉर्ड बनाता है, जिसमें उसका वर्जन, कॉस्ट, सॉल्ट और चेकसम शामिल होते हैं।

एक मानक bcrypt रिकॉर्ड 60 ASCII वर्ण लंबा होता है। इसका चेकसम 184 बिट को दर्शाता है और bcrypt की अपनी Base64 जैसी एन्कोडिंग में 31 वर्णों का होता है। bcrypt को क्रिप्टोग्राफ़िक रूप से टूटा हुआ नहीं माना जाता, लेकिन पुराना होने के कारण इसकी एक सीमा है: पारंपरिक इम्प्लीमेंटेशन अधिकतम 72 इनपुट बाइट ही प्रोसेस करते हैं। Argon2id memory-hard सुरक्षा भी देता है, जो bcrypt में नहीं मिलती।

आरेख: इनपुट टेक्स्ट Bcrypt फ़ंक्शन से गुज़रकर एक तय लंबाई का डाइजेस्ट बनाता है, जिसे वापस नहीं बदला जा सकता

Bcrypt जनरेटर का इस्तेमाल कैसे करें?

जिस स्ट्रिंग को हैश करना है उसे दर्ज करें, जनरेटर चलाएं और Bcrypt हैश परिणाम फ़ील्ड में दिख रही वैल्यू कॉपी करें। केवल आखिरी चेकसम निकालकर रखने के बजाय पूरा परिणाम स्टोर करें।

  1. पासवर्ड या टेस्ट स्ट्रिंग को बिल्कुल उसी रूप में इस्तेमाल करें, जिसमें उसके बड़े और छोटे अक्षर, स्पेस और विराम चिह्न भी शामिल हों।
  2. bcrypt परिणाम जनरेट करें।
  3. शुरुआती वर्जन मार्कर और कॉस्ट सहित सभी 60 वर्ण कॉपी करें।
  4. परिणाम को अपने डेटाबेस के पासवर्ड-हैश कॉलम में सेव करें।
  5. साइन-इन के समय नया हैश बनाकर टेक्स्ट की सीधे तुलना न करें। इसके बजाय अपने प्लेटफ़ॉर्म के bcrypt सत्यापन फ़ंक्शन का इस्तेमाल करें।
digily.link पर Bcrypt जनरेटर टूल और उसका इनपुट फ़ॉर्म

Bcrypt आम तौर पर हर हैश के लिए नया रैंडम सॉल्ट इस्तेमाल करता है। इसलिए एक ही इनपुट को दो बार हैश करने पर दो अलग-अलग रिकॉर्ड बन सकते हैं, और दोनों उसी इनपुट को सही मानकर सत्यापित करेंगे। यह सामान्य व्यवहार है और एक जैसे पासवर्ड की स्टोर की गई वैल्यू को एक जैसा होने से रोकता है।

यह प्रक्रिया सर्वर पर होती है। आपका इनपुट HTTPS के जरिए सर्वर तक जाता है और स्टोर नहीं किया जाता। वास्तविक प्रोडक्शन पासवर्ड के लिए यह ज़रूर देखें कि उसे किसी तीसरे पक्ष की ऑनलाइन सेवा में दर्ज करना आपके संगठन की सुरक्षा नीति के अनुरूप है या नहीं।

क्या bcrypt हैश को डिक्रिप्ट करके मूल पासवर्ड निकाला जा सकता है?

नहीं, bcrypt हैश को डिक्रिप्ट नहीं किया जा सकता, क्योंकि यह एन्क्रिप्ट किया हुआ डेटा नहीं है और इसमें कोई डिक्रिप्शन कुंजी नहीं होती। इस पर हमला करने का व्यावहारिक तरीका संभावित पासवर्ड का अनुमान लगाना और हर अनुमान को स्टोर किए गए हैश से सत्यापित करना है।

Bcrypt अपनी कॉन्फ़िगर की जा सकने वाली कॉस्ट के जरिए अनुमान लगाने की इस प्रक्रिया को धीमा करता है। लेकिन यह किसी छोटे, आम या पहले लीक हो चुके पासवर्ड को सुरक्षित नहीं बना सकता, और कोई दृढ़ हमलावर कमजोर इनपुट का पता फिर भी लगा सकता है। सॉल्ट हमलावरों को कई अकाउंट पर एक ही पहले से तैयार की गई टेबल इस्तेमाल करने से रोकता है, लेकिन सॉल्ट गोपनीय नहीं होता और स्टोर किए गए रिकॉर्ड में शामिल रहता है।

Bcrypt जनरेटर टूल से बना नतीजे का उदाहरण

bcrypt परिणाम को समझना

bcrypt परिणाम आम तौर पर modular crypt फ़ॉर्मैट में होता है। इसका एक प्रतिनिधि रूप $2y$12$[22-character salt][31-character checksum] है। यह केवल फ़ॉर्मैट समझाने वाला उदाहरण है, किसी बताए गए पासवर्ड का हैश नहीं।

हिस्सा सामान्य लंबाई उद्देश्य
वर्जन मार्कर 4 वर्ण $2y$ या $2b$ जैसे bcrypt वेरिएंट की पहचान करता है।
कॉस्ट 3 वर्ण दो अंकों वाली कॉस्ट और उसके बाद आने वाले सेपरेटर को दर्ज करता है।
सॉल्ट 22 वर्ण 128-बिट रैंडम सॉल्ट को एन्कोड करता है।
चेकसम 31 वर्ण 184-बिट bcrypt चेकसम को एन्कोड करता है।

इन सभी हिस्सों को साथ रखें। किसी वर्ण को बदलने, वैल्यू को छोटा करने या उसे बहुत छोटे कॉलम में स्टोर करने से सामान्यतः सत्यापन विफल हो जाएगा। संगत लाइब्रेरी के बीच वर्जन मार्कर अलग हो सकता है। इसलिए ऐप्लिकेशन को रिकॉर्ड खुद पार्स करके दोबारा बनाने के बजाय स्थापित पासवर्ड API पर निर्भर रहना चाहिए।

bcrypt का इस्तेमाल कब करना चाहिए?

जिन सिस्टम में bcrypt पहले से समर्थित है, उनमें पासवर्ड हैशिंग के लिए इसका इस्तेमाल किया जाना चाहिए, खासकर जब मौजूदा डेटाबेस या फ़्रेमवर्क के साथ संगतता जरूरी हो। यह जानबूझकर धीमा है और सॉल्ट का उपयोग करता है, इसलिए सामान्य फ़ाइल चेकसम या डीडुप्लिकेशन आइडेंटिफ़ायर के तौर पर उपयुक्त नहीं है।

  • उपयुक्त उपयोगों में ऐप्लिकेशन पासवर्ड, माइग्रेशन टेस्टिंग, डेटाबेस फ़ील्ड के आकार की जांच और bcrypt-संगत डेवलपमेंट एनवायरनमेंट को दोबारा बनाना शामिल है।
  • नए पासवर्ड सिस्टम के लिए इसके बजाय Argon2id इस्तेमाल करें, बशर्ते प्लेटफ़ॉर्म इसे सपोर्ट करता हो और इसकी मेमोरी सेटिंग को सही तरीके से प्रबंधित किया जा सके।
  • फ़ाइल की अखंडता, कंटेंट फ़िंगरप्रिंट या डीडुप्लिकेशन के लिए इसके बजाय SHA-3 इस्तेमाल करें। SHA-3/384 जनरेटर और SHA-3/512 जनरेटर सामान्य उपयोग वाले डाइजेस्ट बनाते हैं, पासवर्ड रिकॉर्ड नहीं।
  • डिजिटल सिग्नेचर, मैसेज ऑथेंटिकेशन, एन्क्रिप्शन या बाद में वापस प्राप्त किए जाने वाले डेटा को स्टोर करने के लिए bcrypt का इस्तेमाल न करें।

स्पेस, विराम चिह्न और संख्याओं को अनदेखा नहीं किया जाता, बल्कि इनपुट डेटा के रूप में प्रोसेस किया जाता है। bcrypt के काम करने से पहले उच्चारण चिह्न वाले और गैर-लैटिन वर्ण बाइट में एन्कोड होते हैं। इसलिए दोनों सिस्टम को एक जैसी बाइट बनानी चाहिए, जिसके लिए समान कैरेक्टर एन्कोडिंग और Unicode नॉर्मलाइज़ेशन का इस्तेमाल जरूरी है। यहां 72-बाइट की सीमा खास तौर पर महत्वपूर्ण है, क्योंकि एक Unicode वर्ण एक से अधिक बाइट ले सकता है। तकनीकी रूप से खाली इनपुट को भी हैश किया जा सकता है, लेकिन खाली पासवर्ड अनुमान लगाने के विरुद्ध कोई सार्थक सुरक्षा नहीं देता।

अक्सर पूछे जाने वाले सवाल

bcrypt हैश के लिए डेटाबेस में कितनी जगह चाहिए?

पारंपरिक bcrypt रिकॉर्ड के लिए कम से कम 60 ASCII वर्ण की जगह रखें। थोड़ा चौड़ा फ़ील्ड भविष्य में पासवर्ड एल्गोरिदम माइग्रेशन में मदद कर सकता है, जबकि मानक एन्कोडेड रूप के लिए बाइनरी कॉलम की जरूरत नहीं होती।

क्या मौजूदा SHA पासवर्ड हैश को bcrypt में बदला जा सकता है?

मूल पासवर्ड जाने बिना किसी मौजूदा SHA डाइजेस्ट को उस पासवर्ड के bcrypt हैश में नहीं बदला जा सकता। माइग्रेशन का एक सामान्य तरीका यह है कि अगली बार उपयोगकर्ता के साइन-इन करने पर पुराने हैश को सत्यापित किया जाए। फिर दिए गए पासवर्ड को bcrypt या Argon2id से हैश करके पुराने रिकॉर्ड को बदल दिया जाए।

परिणाम सेव करने से पहले जांच लें कि पूरे 60-वर्ण वाली वैल्यू कॉपी हुई है, डेटाबेस फ़ील्ड उसे काट नहीं रहा है और उसे पाने वाला ऐप्लिकेशन रिकॉर्ड में मौजूद वर्जन मार्कर को सपोर्ट करता है।

साझा करें

लोकप्रिय उपकरण