Base64 डिकोडर
Base64-कोडित स्ट्रिंग को उनके मूल सामान्य पाठ या बाइनरी प्रतिनिधित्व में वापस डिकोड करें। मानक RFC 4648 और URL-सुरक्षित Base64 वर्णमाला दोनों का समर्थन करता है, जिसमें JWT टोकन शामिल हैं।
Base64 स्ट्रिंग डिज़ाइन द्वारा अपारदर्शी होती हैं - SGVsbG8sIFdvcmxkIQ== को Hello, World! में वापस डिकोड किए बिना कोई अर्थ नहीं है। RFC 4648 में परिभाषित, Base64 प्रत्येक 3 इनपुट बाइट को 4 आउटपुट वर्णों के रूप में कोड करता है, लगभग 33% ओवरहेड जोड़ता है। यह डिकोडर ब्राउज़र के स्वदेशी atob() और TextDecoder APIs का उपयोग करके इसे उलट देता है। यह मानक Base64 और JWTs और OAuth टोकनों में उपयोग किए जाने वाले URL-सुरक्षित संस्करण (- और _ के बजाय + और /) दोनों का समर्थन करता है। कुछ भी किसी सर्वर पर अपलोड नहीं किया जाता है।
Base64 को कैसे डिकोड करें
- अपने Base64-कोडित स्ट्रिंग को इनपुट फ़ील्ड में पेस्ट करें।
- डेटा को मूल रूप से कोडित करने के तरीके से मेल खाने के लिए मानक या URL-सुरक्षित मोड चुनें।
- डिकोडेड सामान्य पाठ तुरंत आउटपुट पैनल में दिखाई देता है।
- परिणाम को कॉपी करने के लिए कॉपी पर क्लिक करें।
Base64 डिकोडिंग कैसे काम करती है
डिकोडिंग प्रक्रिया
डिकोडिंग कोडिंग को ठीक उसी तरह उलट देती है। प्रत्येक Base64 वर्ण को वर्णमाला तालिका का उपयोग करके इसके 6-बिट मान पर मैप किया जाता है। चार लगातार वर्ण (24 बिट) तीन बाइट को पुनर्निर्माण करते हैं। ब्राउज़र का atob() फ़ंक्शन स्वदेशी रूप से मानक Base64 को संभालता है। URL-सुरक्षित Base64 के लिए, - और _ को डिकोडिंग से पहले + और / में वापस परिवर्तित किया जाता है। परिणामी UTF-8 बाइट अनुक्रम को फिर TextDecoder का उपयोग करके यूनिकोड स्ट्रिंग में डिकोड किया जाता है।
गायब पैडिंग को संभालना
मानक Base64 को स्ट्रिंग की लंबाई को 4 का गुणांक बनाने के लिए = पैडिंग की आवश्यकता होती है। JWTs और OAuth टोकन आकार को कम करने के लिए पैडिंग को हटा देते हैं। यह डिकोडर स्वचालित रूप से स्ट्रिंग की लंबाई के आधार पर आवश्यक पैडिंग की गणना और जोड़ता है। यदि स्ट्रिंग की लंबाई का मोड 4, 2 है, तो एक = की आवश्यकता होती है; यदि यह 3 है, तो दो = वर्णों की आवश्यकता होती है।
उदाहरण
इनपुट (मानक Base64)
SGVsbG8sIFdvcmxkIQ==
आउटपुट
Hello, World!
सामान्य उपयोग के मामले
- JWT टोकन निरीक्षण - लाइब्रेरी के बिना दावों को पढ़ने के लिए हेडर और पेलोड अनुभागों को डिकोड करें
- HTTP बेसिक ऑथ - एम्बेडेड क्रेडेंशियल्स को सत्यापित करने के लिए
Authorization: Basic dXNlcjpwYXNzहेडर को डिकोड करें - डेटा URI निरीक्षण -
data:image/png;base64,...URIs के Base64 भाग को डिकोड करें - API प्रतिक्रिया डिबगिंग - कुछ APIs JSON प्रतिक्रियाओं में बाइनरी सामग्री को Base64-कोडित करते हैं
सर्वोत्तम प्रथाएँ
- सही मोड चुनें (मानक बनाम URL-सुरक्षित) - गलत मोड का उपयोग करने से गड़बड़ आउटपुट उत्पन्न होता है
- JWT टोकनों के लिए, केवल हेडर (पहला भाग) और पेलोड (दूसरा भाग) को डिकोड करें; तीसरा भाग एक क्रिप्टोग्राफिक सिग्नेचर है, कोडित पाठ नहीं
- यदि आउटपुट पढ़ने योग्य वर्ण नहीं हैं, तो स्रोत डेटा बाइनरी (छवि, PDF, आदि) था, पाठ नहीं
- Base64 डिकोडिंग सुरक्षा जांच नहीं है - कोई भी इसे डिकोड कर सकता है
पाठ को फिर से Base64 में कोड करने के लिए, Base64 एन्कोडर का उपयोग करें। URL-कोडित डेटा के लिए, URL डिकोडर का उपयोग करें। एक JWT का पूरी तरह से निरीक्षण करने के लिए, पहले दो बिंदु-सेपरेटेड भागों को अलग से URL-सुरक्षित मोड के साथ डिकोड करें।
अक्सर पूछे जाने वाले सवाल
मैं इस टूल से JWT टोकन को कैसे डिकोड करूं?
एक JWT में तीन भाग होते हैं जो बिंदुओं से अलग होते हैं: header.payload.signature. हेडर (पहला भाग) या पेलोड (दूसरा भाग) को कॉपी करें, URL-सुरक्षित मोड चुनें, और इसे डिकोडर में पेस्ट करें। आउटपुट JSON ऑब्जेक्ट है जिसमें एल्गोरिदम (हेडर) या दावे (पेलोड) होते हैं। सिग्नेचर को डिकोड न करें - यह एक क्रिप्टोग्राफिक हैश है, Base64-कोडित JSON स्ट्रिंग नहीं।
मेरे डिकोडेड आउटपुट में अजीब अक्षर क्यों दिख रहे हैं?
इसका मतलब तीन में से एक है: (1) मूल डेटा बाइनरी (छवि, PDF, ज़िप) था, न कि पाठ; (2) आपने गलत मोड चुना - मानक और URL-सुरक्षित के बीच स्विच करने का प्रयास करें; (3) मूल पाठ को UTF-8 के अलावा किसी अन्य चार्टसेट का उपयोग करके कोडित किया गया था। पहले मोड बदलने का प्रयास करें। यदि आउटपुट अभी भी पढ़ने योग्य नहीं है, तो स्रोत डेटा संभवतः बाइनरी था।
क्या मुझे डिकोडिंग के काम करने के लिए पैडिंग वर्णों (==) की आवश्यकता है?
मानक Base64 को स्ट्रिंग की लंबाई को 4 का गुणांक बनाने के लिए पैडिंग की आवश्यकता होती है। यह डिकोडर स्वचालित रूप से गायब पैडिंग जोड़ता है, जो JWT और OAuth टोकनों के लिए महत्वपूर्ण है जो अंतिम = वर्णों को हटा देते हैं। स्ट्रिंग को जैसे है वैसा पेस्ट करें और डिकोडर स्वचालित रूप से पैडिंग संभालता है।
क्या यहां डिकोडिंग करते समय मेरा संवेदनशील डेटा सुरक्षित है?
हाँ। डिकोडिंग पूरी तरह से आपके ब्राउज़र में स्वदेशी atob() और TextDecoder APIs का उपयोग करके चलती है। टोकन, क्रेडेंशियल, और निजी डेटा जो आप पेस्ट करते हैं, कभी भी किसी सर्वर पर नहीं भेजे जाते, कभी लॉग नहीं होते, और कभी भी संग्रहीत नहीं होते। डिकोडिंग के दौरान ब्राउज़र के नेटवर्क टैब को खोलें और आप शून्य आउटबाउंड अनुरोध देखेंगे।
मानक और URL-सुरक्षित Base64 के बीच क्या अंतर है?
मानक Base64 (RFC 4648 §4) + और / का उपयोग करता है। URL-सुरक्षित Base64 (RFC 4648 §5) उन्हें - और से बदलता है ताकि URL, फ़ाइल नाम, और HTTP हेडर में संघर्ष से बचा जा सके। JWTs, OAuth टोकन, और PKCE कोड सत्यापनकर्ता सभी URL-सुरक्षित Base64 का उपयोग करते हैं। यदि आपकी स्ट्रिंग में - या है, तो URL-सुरक्षित मोड चुनें।