Base32 एनकोडर और डिकोडर

टेक्स्ट, हेक्स बाइट या फ़ाइलों को Base32 में बदलें और वापस पाएँ। RFC 4648 वर्णमाला, Base32hex, Crockford या z-base-32 चुनें, और पैडिंग व अक्षरों के केस को नियंत्रित करें।

पूरी तरह आपके ब्राउज़र में चलता है। कुछ भी अपलोड नहीं होता।

उपयोग कैसे करें

  1. टेक्स्ट को Base32 में बदलने के लिए “एनकोड करें” चुनें, या Base32 को वापस टेक्स्ट में बदलने के लिए “डिकोड करें”।
  2. “वेरिएंट” चुनें। RFC 4648 डिफ़ॉल्ट है, और TOTP सीक्रेट व ज़्यादातर लाइब्रेरी इसी का उपयोग करती हैं।
  3. अपना इनपुट टाइप या पेस्ट करें, या कोई फ़ाइल खोलें। टाइप करते ही परिणाम अपडेट होता जाता है।
  4. परिणाम कॉपी करें या उसे फ़ाइल के रूप में डाउनलोड करें।

Base32 क्या है?

Base32 बाइनरी डेटा को 32 प्रिंट करने योग्य अक्षरों से दर्शाता है। हर अक्षर में 5 बिट होते हैं, इसलिए हर 5 इनपुट बाइट 8 आउटपुट अक्षर बनते हैं। आउटपुट इनपुट से लगभग 60% बड़ा होता है, जो Base64 से ज़्यादा ओवरहेड है, लेकिन इसकी वर्णमाला में छोटे अक्षर और आसानी से भ्रमित होने वाले चिह्न नहीं होते।

RFC 4648 में परिभाषित मानक वर्णमाला अक्षर A-Z और अंक 2-7 का उपयोग करती है। अंक 0, 1, 8 और 9 छोड़ दिए गए हैं, ताकि उन्हें अक्षर O, I और B न समझा जाए। जब इनपुट की लंबाई 5 बाइट का गुणज नहीं होती, तो आउटपुट में = जोड़कर उसे 8 अक्षरों के गुणज तक पैड किया जाता है।

Base32 का उपयोग कहाँ होता है

  • टू-फ़ैक्टर ऑथेंटिकेशन। ऑथेंटिकेटर ऐप में TOTP और HOTP सीक्रेट (otpauth:// लिंक में secret= का मान) Base32 स्ट्रिंग होते हैं।
  • केस-असंवेदी सिस्टम। वर्णमाला में अक्षरों का केवल एक केस होने के कारण Base32 उन फ़ाइल सिस्टम, DNS लेबल और ईमेल पतों में भी सुरक्षित रहता है जो केस को अनदेखा करते हैं।
  • हाथ से टाइप किए जाने वाले कोड। लाइसेंस कुंजियाँ, onion पते और छोटे पहचानकर्ता Base32 का उपयोग करते हैं, ताकि उन्हें बोलकर पढ़ना और टाइप करना आसान हो।

अगर पठनीयता से ज़्यादा आकार मायने रखता है, तो Base64 ज़्यादा संक्षिप्त है। अगर आपको भ्रमित करने वाले अक्षरों के बिना छोटे पहचानकर्ता चाहिए, तो Crockford Base32 और Base58 की तुलना करें।

Base32 के वेरिएंट

वेरिएंटवर्णमालासामान्य उपयोग
RFC 4648A-Z 2-7TOTP सीक्रेट, सामान्य उद्देश्य
Base32hex0-9 A-Vक्रम रॉ बाइट के क्रम से मेल खाता है, DNSSEC NSEC3
Crockford0-9 A-Z, I, L, O, U के बिनापढ़ने में आसान ID, ULID
z-base-32छोटे अक्षर, बदले हुए क्रम मेंइंसानों के लिए बनी कुंजियाँ, OpenPGP WKD, ZRTP

कोड में Base32

# Python
import base64
base64.b32encode(b'hello')        # एनकोड
base64.b32decode('NBSWY3DP')      # डिकोड

// Node.js में Base32 बिल्ट-इन नहीं है; "hi-base32" जैसा कोई पैकेज इस्तेमाल करें
// Go (import "encoding/base32")
base32.StdEncoding.EncodeToString(data)

तकनीकी विवरण

वर्णमालाA-Z 2-7
आउटपुट का आकारहर 5 बाइट पर 8 अक्षर (160%)
पैडिंग= से 8 अक्षरों के गुणज तक
मानकRFC 4648 खंड 6
केस-संवेदीनहीं

उदाहरण

इनपुट (UTF-8)आउटपुट
Hello, World!JBSWY3DPFQQFO33SNRSCC===
Base64.isIJQXGZJWGQXGS4Y=
你好4S62BZNFXU======

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

क्या Base32 केस-संवेदी है?

RFC 4648 वर्णमाला बड़े अक्षरों में परिभाषित है, लेकिन यह डिकोडर छोटे अक्षरों वाला इनपुट भी स्वीकार करता है। अगर आपको छोटे अक्षरों में आउटपुट चाहिए, तो “छोटे अक्षर” विकल्प का उपयोग करें।

मेरी Base32 स्ट्रिंग के अंत में = चिह्न क्यों हैं?

बराबर के ये चिह्न पैडिंग हैं, जो आख़िरी ब्लॉक को 8 अक्षरों तक भरते हैं। कई सिस्टम, जिनमें ज़्यादातर TOTP ऐप शामिल हैं, बिना पैडिंग वाला Base32 स्वीकार करते हैं। इसे हटाने के लिए “पैडिंग” बंद करें।

Base32 मूल डेटा से कितना बड़ा होता है?

हर 5 बाइट 8 अक्षर बनते हैं, इसलिए Base32 आउटपुट इनपुट के आकार का लगभग 1.6 गुना होता है। Base64 लगभग 1.33 गुना होता है।

क्या इस टूल से TOTP सीक्रेट डिकोड किया जा सकता है?

हाँ। सीक्रेट को “डिकोड करें” टैब में पेस्ट करें और कुंजी के रॉ बाइट देखने के लिए आउटपुट “हेक्स” चुनें। सीक्रेट में मौजूद स्पेस अनदेखे कर दिए जाते हैं।