उपयोग कैसे करें
- टेक्स्ट को z-base-32 में बदलने के लिए “एनकोड करें” चुनें, या z-base-32 को वापस टेक्स्ट में बदलने के लिए “डिकोड करें”।
- z-base-32 वेरिएंट चुना हुआ रहने दें और ध्यान रखें कि “पैडिंग” बंद हो, क्योंकि यह फ़ॉर्मैट पैडिंग का उपयोग नहीं करता।
- अपना इनपुट टाइप या पेस्ट करें, या कोई फ़ाइल खोलें। टाइप करते ही परिणाम अपडेट होता जाता है।
- परिणाम कॉपी करें या उसे फ़ाइल के रूप में डाउनलोड करें।
z-base-32 क्या है?
z-base-32 एक Base32 एनकोडिंग है, जिसे Zooko Wilcox-O'Hearn ने इस तरह बनाया कि लोगों के लिए इसे पढ़ना, लिखना और बोलना आसान हो। इसकी कार्यप्रणाली RFC 4648 Base32 जैसी ही है: हर अक्षर में 5 बिट होते हैं और 5 बाइट 8 अक्षर बनते हैं। जो चीज़ इसे अलग बनाती है, वह है इसकी वर्णमाला:
ybndrfg8ejkmcpqxot1uwisza345h769
यह पूरी तरह छोटे अक्षरों में है और इसमें 0, 2, l और v नहीं हैं, जिन्हें o, z, 1 और u से आसानी से भ्रमित किया जा सकता है। अक्षरों का क्रम भी बदला गया है, इसलिए z-base-32 आउटपुट उन्हीं बाइट के मानक Base32 से बिल्कुल अलग दिखता है और RFC 4648 डिकोडर उसे नहीं पढ़ सकता।
इसमें कोई पैडिंग नहीं होती: डेटा की लंबाई स्ट्रिंग की लंबाई से ही पता चल जाती है। जब दोनों पक्ष लंबाई पर सहमत हों, तो स्पेसिफ़िकेशन ऐसी बिट स्ट्रिंग भी एनकोड कर सकता है जो पूरे बाइट नहीं हैं; यह टूल हमेशा पूरे बाइट के साथ काम करता है।
z-base-32 का उपयोग कहाँ होता है
- OpenPGP Web Key Directory (WKD)। किसी कुंजी को एक तय (well-known) URL पर प्रकाशित करने के लिए ईमेल पते के लोकल हिस्से को छोटे अक्षरों में बदलकर SHA-1 से हैश किया जाता है, और 20 बाइट के हैश को z-base-32 में एनकोड करके 32 अक्षरों का फ़ाइल नाम बनाया जाता है।
- ZRTP। मैन-इन-द-मिडल हमले का पता लगाने के लिए दो कॉल करने वाले जो छोटी ऑथेंटिकेशन स्ट्रिंग बोलकर पढ़ते हैं, उसे z-base-32 वर्णमाला वाले Base32 के रूप में दिखाया जा सकता है (RFC 6189)।
- Lightning Network। lnd और Core Lightning जैसे नोड सॉफ़्टवेयर साइन किए गए संदेश z-base-32 स्ट्रिंग के रूप में लौटाते हैं।
इंसानों के लिए अनुकूल दूसरे फ़ॉर्मैट के लिए Crockford Base32 की तुलना करें, जो अंकों को क्रम में रखता है और टाइपिंग की ग़लतियों को माफ़ कर देता है, और Base58 की भी, जो छोटा है लेकिन केस-संवेदी है।
तकनीकी विवरण
| वर्णमाला | ybndrfg8ejkmcpqxot1uwisza345h769 |
|---|---|
| आउटपुट का आकार | हर 5 बाइट पर 8 अक्षर (160%) |
| पैडिंग | कोई नहीं |
| मानक | z-base-32 (Zooko Wilcox-O'Hearn) |
| केस-संवेदी | नहीं |
उदाहरण
| इनपुट (UTF-8) | आउटपुट |
|---|---|
Hello, World! | jb1sa5dxfoofq551pt1nn |
Base64.is | ejozg3jsgozg1ha |
你好 | h164b3pfzw |
अक्सर पूछे जाने वाले प्रश्न
क्या z-base-32 और Base32 एक ही हैं?
नहीं। यह RFC 4648 Base32 जैसा ही 5-बिट समूहन इस्तेमाल करता है, लेकिन इसकी वर्णमाला अलग और बदले हुए क्रम वाली है, और इसमें पैडिंग नहीं होती। z-base-32 स्ट्रिंग को z-base-32 डिकोडर से ही डिकोड करना चाहिए।
क्या z-base-32 केस-संवेदी है?
वर्णमाला छोटे अक्षरों में है और आउटपुट हमेशा छोटे अक्षरों में होता है। यह डिकोडर बड़े अक्षरों वाला इनपुट भी स्वीकार करता है और डिकोड करने से पहले उसे छोटे अक्षरों में बदल देता है।
अगर मेरी स्ट्रिंग के अंत में = चिह्न हों तो क्या होगा?
z-base-32 पैडिंग का उपयोग नहीं करता, लेकिन अगर किसी स्ट्रिंग के अंत में = चिह्न हों, तो डिकोडर उन्हें बस अनदेखा कर देता है।
WKD हैश कैसे पाएँ?
--with-wkd-hash विकल्प से WKD हैश सीधे भी प्रिंट कर सकता है।