PBKDF2 और HKDF कुंजी व्युत्पत्ति
PBKDF2 या HKDF से किसी पासवर्ड या सीक्रेट से एक कुंजी प्राप्त करें, सॉल्ट, पुनरावृत्ति संख्या या info लेबल, हैश और आउटपुट लंबाई चुनें, और इसे hex या base64 में पढ़ें, पूरी तरह आपके ब्राउज़र में।
PBKDF2 और HKDF कुंजी व्युत्पत्ति — PBKDF2 से किसी पासवर्ड को खींचकर कुंजी बनाएँ, या HKDF से उच्च-एन्ट्रॉपी वाले सीक्रेट को नामित उप-कुंजियों में विस्तारित करें, बिना कुछ भी आपके डिवाइस से बाहर गए। हैश चुनें, सॉल्ट और पुनरावृत्ति संख्या (PBKDF2) या info लेबल (HKDF) सेट करें, तय करें कि आपको कितने बिट आउटपुट चाहिए, और व्युत्पन्न कुंजी को hex या base64 में कॉपी करें। हर बाइट मूल Web Crypto API (crypto.subtle.deriveBits) से स्थानीय रूप से गणना की जाती है, इसलिए आपका पासवर्ड और सीक्रेट कभी किसी सर्वर को नहीं छूते।
PBKDF2 और HKDF कुंजी व्युत्पत्ति क्या है?
PBKDF2 और HKDF कुंजी व्युत्पत्ति एक मुफ़्त इन-ब्राउज़र टूल है जो डेवलपर्स द्वारा सबसे अधिक उपयोग की जाने वाली दो कुंजी व्युत्पत्ति फ़ंक्शन चलाता है। PBKDF2 (पासवर्ड-आधारित कुंजी व्युत्पत्ति फ़ंक्शन 2) एक HMAC को हज़ारों बार दोहराकर जानबूझकर ब्रूट फ़ोर्स को धीमा करता है, और एक मानवीय पासवर्ड तथा सॉल्ट को निश्चित-लंबाई वाली कुंजी में बदल देता है। HKDF (HMAC-आधारित कुंजी व्युत्पत्ति फ़ंक्शन) एक ऐसा सीक्रेट लेता है जिसमें पहले से पर्याप्त एन्ट्रॉपी है और उसे info लेबल का उपयोग करते हुए एक या अधिक संदर्भ-बद्ध उप-कुंजियों में विस्तारित करता है, जो एक ही मास्टर सीक्रेट से अलग-अलग एन्क्रिप्शन और प्रमाणीकरण कुंजियाँ प्राप्त करने के लिए आदर्श है। बैकएंड इंजीनियर, सुरक्षा समीक्षक और लॉगिन या एन्क्रिप्शन कोड लिखने वाला कोई भी व्यक्ति इसका उपयोग टेस्ट वेक्टर जाँचने, सर्वर की व्युत्पत्ति को दोहराने, या एकबारगी काम के लिए कुंजियाँ बनाने के लिए करता है। एल्गोरिद्म बदलने के लिए PBKDF2/HKDF टॉगल का उपयोग करें, SHA-256, SHA-384, SHA-512 या SHA-1 चुनें, आउटपुट लंबाई बिट में सेट करें, और परिणाम को hex या base64 में पढ़ें।
PBKDF2 और HKDF कुंजी व्युत्पत्ति का उपयोग कैसे करें
- ऊपर के टॉगल से PBKDF2 या HKDF चुनें, जो आपके कोड या टेस्ट वेक्टर द्वारा उपयोग किए जाने वाले फ़ंक्शन से मेल खाता हो।
- सीक्रेट फ़ील्ड में अपना पासवर्ड (PBKDF2) या उच्च-एन्ट्रॉपी सीक्रेट (HKDF) टाइप करें या पेस्ट करें, फिर एक सॉल्ट दर्ज करें।
- PBKDF2 के लिए पुनरावृत्ति संख्या सेट करें; HKDF के लिए वैकल्पिक info लेबल सेट करें जो कुंजी को किसी संदर्भ से बाँधता है।
- हैश (SHA-256, SHA-384, SHA-512 या SHA-1) और बिट में आउटपुट लंबाई चुनें।
- hex / base64 टॉगल को अपनी ज़रूरत के एन्कोडिंग पर बदलें और कॉपी बटन से व्युत्पन्न कुंजी कॉपी करें।
उदाहरण
PBKDF2 — पासवर्ड से 256-बिट कुंजी
इनपुट
Secret: correct horse battery staple Salt: a1b2c3d4 Hash: SHA-256, Iterations: 100000, Bits: 256
आउटपुट
एक 64-वर्ण वाली hex स्ट्रिंग (32 बाइट) जो समान पासवर्ड, सॉल्ट, हैश और पुनरावृत्ति संख्या के लिए पुनः उत्पन्न की जा सकती है
HKDF — मास्टर सीक्रेट से संदर्भ-बद्ध उप-कुंजी
इनपुट
Secret: 9f8e7d6c…(master key) Salt: session-2024 Info: aes-gcm-encryption Hash: SHA-256, Bits: 256
आउटपुट
उसी सीक्रेट के साथ Info: hmac-authentication से मिलने वाली कुंजी से भिन्न 256-बिट कुंजी, ताकि एक मास्टर स्वतंत्र उप-कुंजियाँ उत्पन्न करे
base64 में छोटा आउटपुट
इनपुट
Bits: 128, encoding switched to base64
आउटपुट
एक 24-वर्ण वाली base64 स्ट्रिंग जो पहले 16 व्युत्पन्न बाइट को एन्कोड करती है
अक्सर पूछे जाने वाले सवाल
- क्या मेरा पासवर्ड या सीक्रेट कहीं भेजा जाता है?
- नहीं। सीक्रेट, सॉल्ट और info आपके ब्राउज़र में ही रहते हैं। कुंजी Web Crypto API (crypto.subtle.deriveBits) से स्थानीय रूप से प्राप्त की जाती है, और कुछ भी किसी सर्वर पर अपलोड या संग्रहीत नहीं होता, इसलिए टूल ऑफ़लाइन काम करता है और आपके इनपुट कभी पेज से बाहर नहीं जाते।
- मुझे PBKDF2 कब और HKDF कब उपयोग करना चाहिए?
- कम-एन्ट्रॉपी वाले मानवीय पासवर्ड से कुंजी प्राप्त करने के लिए PBKDF2 का उपयोग करें — इसकी पुनरावृत्ति संख्या ब्रूट फ़ोर्स को धीमा करती है। जब आपके पास पहले से उच्च-एन्ट्रॉपी सीक्रेट (एक मास्टर कुंजी या साझा सीक्रेट) हो और आप उसे info लेबल के माध्यम से एक या अधिक अलग उप-कुंजियों में विस्तारित करना चाहें, तब HKDF का उपयोग करें। HKDF तेज़ है और PBKDF2 की पासवर्ड स्ट्रेचिंग का विकल्प नहीं है।
- मेरी आउटपुट लंबाई गोल क्यों की जाती है?
- Web Crypto का deriveBits पूरे बाइट में काम करता है, इसलिए बिट में आउटपुट लंबाई को निकटतम 8 के गुणक तक गोल किया जाता है। परिणाम के नीचे का आँकड़ा वास्तव में उत्पन्न बिट और बाइट दिखाता है।
- कौन-से हैश और एल्गोरिद्म समर्थित हैं?
- दोनों एल्गोरिद्म SHA-256, SHA-384, SHA-512 या SHA-1 पर चलते हैं, जो ब्राउज़र की Web Crypto PBKDF2 और HKDF के लिए उपलब्ध कराती है। scrypt, Argon2 और bcrypt उपलब्ध नहीं हैं क्योंकि ब्राउज़र इन्हें मूल रूप से लागू नहीं करते।
- क्या समान इनपुट हमेशा समान कुंजी देंगे?
- हाँ। कुंजी व्युत्पत्ति नियतात्मक है: समान एल्गोरिद्म, सीक्रेट, सॉल्ट, हैश, आउटपुट लंबाई और पुनरावृत्ति संख्या (PBKDF2) या info (HKDF) हमेशा समान बाइट उत्पन्न करते हैं, इसी कारण आप इसका उपयोग अपने सर्वर द्वारा प्राप्त कुंजी को दोहराने या सत्यापित करने के लिए कर सकते हैं।
संबंधित टूल
AES टेक्स्ट एन्क्रिप्शन (AES-GCM + PBKDF2)
पासफ़्रेज़ से व्युत्पन्न कुंजी (PBKDF2 SHA-256, यादृच्छिक सॉल्ट) के साथ AES-256-GCM का उपयोग करके टेक्स्ट को एन्क्रिप्ट और डिक्रिप्ट करें, पूरी तरह आपके ब्राउज़र में और बिना किसी अपलोड के।
Argon2 और scrypt हैश
Argon2id या scrypt से किसी पासवर्ड का हैश बनाएँ और किसी Argon2 हैश का पासवर्ड के साथ मिलान सत्यापित करें, पूरी तरह आपके ब्राउज़र में।
Bcrypt हैश जनरेटर और वेरिफायर
चुने गए कॉस्ट फैक्टर पर सादे टेक्स्ट से bcrypt पासवर्ड हैश बनाएं, या किसी मौजूदा bcrypt हैश के विरुद्ध पासवर्ड सत्यापित करें, पूरी तरह आपके ब्राउज़र में।
BIP39 निमॉनिक जेनरेटर
कई भाषाओं में 12 से 24 शब्दों का एक यादृच्छिक BIP39 रिकवरी वाक्यांश बनाएँ, या किसी मौजूदा निमॉनिक को वापस उसकी कच्ची एन्ट्रॉपी में बदलें, पूरी तरह आपके ब्राउज़र में।