Base64 एन्कोडर / Base64 डिकोडर ऑनलाइन

0 chars
0 chars

क्या आपको HTTP हेडर में उपयोग के लिए पठनीय टेक्स्ट को Base64 प्रारूप में बदलने की आवश्यकता है, या इसके विपरीत, किसी API टोकन की सामग्री को डिकोड करना है? हमारा Base64 टेक्स्ट एन्कोडर और डिकोडर टेक्स्ट स्ट्रिंग के साथ काम करने के लिए एक विशेष उपकरण है, जो डायक्रिटिक्स या विशेष वर्णों जैसी जटिलताओं को भी संभाल सकता है।

छवियों के साथ काम कर रहे हैं?
यदि आपका कोड data:image/png... से शुरू होता है या आप किसी फ़ाइल को टेक्स्ट में बदलना चाहते हैं, तो यह टूल आपको केवल निरर्थक वर्ण दिखाएगा। छवि रूपांतरण के लिए हमारे विशेष टूल का उपयोग करें।

Base64 प्रारूप कैसे काम करता है?

कई लोग रोजाना Base64 का उपयोग करते हैं, लेकिन कुछ ही लोग जानते हैं कि यह “पर्दे के पीछे” कैसे काम करता है। यह कोई जादू नहीं है, बल्कि बिट्स के साथ एक साधारण गणित है।

कंप्यूटर में सामान्य टेक्स्ट 8 बिट्स (1 बाइट) में संग्रहीत होता है। हालांकि, Base64 64 वर्णों (A-Z, a-z, 0-9, +, /) की “वर्णमाला” का उपयोग करता है। चूंकि 2^6 = 64, एक Base64 वर्ण ठीक 6 बिट जानकारी का प्रतिनिधित्व करता है।

रूपांतरण प्रक्रिया (एल्गोरिथम):

  1. आपके टेक्स्ट के तीन वर्ण (3 × 8 बिट = 24 बिट) लिए जाते हैं।
  2. इन 24 बिट्स को 6 बिट्स के चार समूहों में विभाजित किया जाता है।
  3. प्रत्येक समूह को Base64 तालिका से एक वर्ण असाइन किया जाता है।

परिणाम: चूंकि हम 3 वर्णों से 4 वर्ण बनाते हैं, इसलिए परिणामी Base64 स्ट्रिंग हमेशा मूल टेक्स्ट से लगभग 33% लंबी होती है।

वर्ण सेट समस्या: सामान्य Base64 कनवर्टर चेक टेक्स्ट को क्यों नष्ट करते हैं?

यदि आपने कभी ब्राउज़र कंसोल में btoa('Kůň') फ़ंक्शन का उपयोग करके “Kůň” शब्द को एन्कोड करने का प्रयास किया है, तो आपको संभवतः एक त्रुटि मिली होगी: String contains characters outside of the Latin1 range.

Base64 मूल रूप से 7-बिट ASCII वर्णों के लिए डिज़ाइन किया गया था। हालांकि, चेक, इमोजी और अन्य विशेष प्रतीक (UTF-8) मेमोरी में अधिक बाइट्स (मल्टीबाइट वर्ण) लेते हैं।

  • अक्षर a = 1 बाइट।
  • अक्षर ř = 2 बाइट।
  • इमोजी 🚀 = 4 बाइट।

हमारा टूल इस समस्या को हल करता है। Base64 में एन्कोडिंग से पहले, हम टेक्स्ट को UTF-8 बाइट्स के अनुक्रम में सही ढंग से परिवर्तित करते हैं। यह आपको डेटा के भ्रष्टाचार के जोखिम के बिना JSON ऑब्जेक्ट, चेक टेक्स्ट और आधुनिक प्रतीकों को सुरक्षित रूप से एन्कोड करने की अनुमति देता है।

Base64 टेक्स्ट एन्कोडिंग का उपयोग कहाँ किया जाता है?

जबकि Base64 में छवियां मुख्य रूप से CSS/HTML में एम्बेड करने के लिए उपयोग की जाती हैं, टेक्स्ट Base64 का बैकएंड सिस्टम में पूरी तरह से अलग उपयोग होता है:

1. HTTP बेसिक प्रमाणीकरण

जब आप किसी API में लॉग इन करते हैं, तो हेडर अक्सर इस तरह दिखता है: Authorization: Basic dXppdmF0ZWw6aGVzbG8= इस कोड के पीछे उपयोगकर्ता:पासवर्ड प्रारूप में बस एक संयुक्त उपयोगकर्ता नाम और पासवर्ड छिपा होता है। हमारा टूल आपको इन हेडरों को आसानी से जेनरेट या जांचने की अनुमति देगा।

2. JSON वेब टोकन (JWT)

आधुनिक वेब एप्लिकेशन लॉगिन के लिए JWT का उपयोग करते हैं। ऐसा टोकन डॉट से अलग किए गए तीन लंबी स्ट्रिंग जैसा दिखता है। डेटा भाग (पेलोड) Base64 में एन्कोड किया गया एक साधारण JSON ऑब्जेक्ट है।

  • टिप: अपने JWT टोकन के मध्य भाग को यहां पेस्ट करने और उसे डिकोड करने का प्रयास करें। आप देखेंगे कि एप्लिकेशन आपके बारे में कौन सा डेटा रिकॉर्ड करता है (उदाहरण के लिए, उपयोगकर्ता आईडी, समाप्ति)।

3. कॉन्फ़िगरेशन फ़ाइलें (Kubernetes सीक्रेट्स)

कुबेरनेट्स जैसे प्लेटफॉर्म कॉन्फ़िगरेशन YAML फ़ाइलों में गोपनीय डेटा (सीक्रेट्स) को Base64 में संग्रहीत करते हैं। यह एन्क्रिप्शन नहीं है, बल्कि बाइनरी डेटा या समस्याग्रस्त वर्णों (नई लाइनें, उद्धरण) वाले टेक्स्ट को टेक्स्ट फ़ाइल में संग्रहीत करने का एक तरीका है।

“URL सुरक्षित Base64 एन्कोडिंग” क्या है और यह क्यों मायने रखता है?

मानक Base64 वर्णमाला में + (प्लस) और / (फॉरवर्ड स्लैश) वर्ण शामिल हैं। इन दोनों वर्णों का URL पतों में विशेष अर्थ होता है:

  • / निर्देशिकाओं को अलग करता है।
  • + को अक्सर एक स्पेस के रूप में व्याख्या किया जाता है।

यदि आप URL पैरामीटर में एक मानक Base64 भेजते हैं (उदाहरण के लिए, site.com?token=ab/cd+ef), तो सर्वर डेटा को गलत तरीके से पढ़ सकता है।

समाधान (URL सुरक्षित मोड): हमारा स्विच Base64URL (RFC 4648 के अनुसार) के एक प्रकार को सक्रिय करता है, जो ये परिवर्तन करता है:

  • + को - (हाइफ़न) में बदल दिया जाता है।
  • / को _ (अंडरस्कोर) में बदल दिया जाता है।
  • अंत में, = (पैडिंग) वर्ण हटा दिए जाते हैं, जिनकी URL में आवश्यकता नहीं होती है।

मिथक: Base64 एन्क्रिप्शन नहीं है!

महत्वपूर्ण अंतर को समझना महत्वपूर्ण है, जिसे शुरुआती अक्सर भ्रमित करते हैं:

  1. एन्कोडिंग (Encoding - Base64): डेटा के प्रसारण के लिए उपयोग किया जाता है। यह किसी चीज़ को सूटकेस में पैक करने जैसा है ताकि वह रास्ते में टूटे नहीं। जो कोई भी सूटकेस पाता है, वह उसे खोल सकता है (डिकोड कर सकता है) और सामग्री देख सकता है। यह गोपनीय डेटा के लिए सुरक्षित नहीं है।
  2. एन्क्रिप्शन (Encryption - AES, RSA): कुंजी के साथ डेटा को लॉक करता है। कुंजी के बिना, आप सामग्री तक नहीं पहुंच सकते।
  3. हैशिंग (Hashing - SHA, MD5): एक-तरफा प्रक्रिया (उदाहरण के लिए, पासवर्ड संग्रहीत करने के लिए)। परिणाम से मूल टेक्स्ट प्राप्त नहीं किया जा सकता।

यदि आपको पासवर्ड या संवेदनशील डेटा भेजने की आवश्यकता है, तो केवल Base64 पर्याप्त नहीं है। आपको HTTPS (SSL/TLS) का उपयोग करना होगा, जो ट्रांसमिशन को एन्क्रिप्ट करता है।


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

स्ट्रिंग के अंत में "=" वर्णों का क्या मतलब है? यह तथाकथित "पैडिंग" है। चूंकि Base64 डेटा को 3 वर्णों के समूहों में एन्कोड करता है, इसलिए ऐसा हो सकता है कि मूल टेक्स्ट की लंबाई तीन से विभाज्य न हो। डिकोडर को यह बताने के लिए कि अंत में कितने बिट्स को अनदेखा करना है, "=" वर्णों को अंत में जोड़ा जाता है।
डिकोड किया गया टेक्स्ट "बिखरी हुई चाय" जैसा क्यों दिखता है? आप शायद ऐसे डेटा को डिकोड करने की कोशिश कर रहे हैं जो टेक्स्ट नहीं है। यदि Base64 स्ट्रिंग एक संपीड़ित फ़ाइल (ZIP), एक छवि, या एन्क्रिप्टेड डेटा का प्रतिनिधित्व करती है, तो टेक्स्ट (UTF-8) में रूपांतरण का कोई मतलब नहीं है। डेटा के स्रोत का पता लगाने का प्रयास करें।
क्या टूल ऑफलाइन काम करता है? हाँ। सभी रूपांतरण तर्क जावास्क्रिप्ट में लिखे गए हैं और सीधे आपके ब्राउज़र में चलते हैं। एक बार जब पेज लोड हो जाता है, तो आप इंटरनेट से डिस्कनेक्ट हो सकते हैं और टूल अभी भी काम करेगा। आपका डेटा कहीं भी नहीं भेजा जाता है।