बेस64 डिकोडर

हमारे Base64 डिकोडर टूल के साथ Base64 इनपुट को उसके मूल स्ट्रिंग प्रारूप में वापस डिकोड करें ताकि डेटा को आसानी से पुनः प्राप्त किया जा सके।

2 रेटिंग्स में से 5
बेस64 डिकोडर

बेस64 डिकोडर एक मुफ़्त टूल है, जो Base64 में एन्कोड किए गए इनपुट से मूल डेटा वापस निकालता है।

Base64 एन्कोडिंग क्या है और इसका इस्तेमाल क्यों होता है?

Base64 सीमित संख्या में प्रिंट किए जा सकने वाले टेक्स्ट वर्णों की मदद से बाइनरी डेटा दिखाने का एक तरीका है। इसकी ज़रूरत इसलिए पड़ती है क्योंकि कुछ सिस्टम टेक्स्ट को तो सुरक्षित ढंग से भेज सकते हैं, लेकिन मनमाने बाइट्स को भरोसेमंद तरीके से संभाल नहीं पाते।

मानक Base64 में अंग्रेज़ी के बड़े और छोटे अक्षर, अंक, प्लस चिह्न और फ़ॉरवर्ड स्लैश इस्तेमाल होते हैं। अंत में पैडिंग के रूप में बराबर का चिह्न आ सकता है। एन्कोडिंग से डेटा का आकार बढ़ जाता है, क्योंकि इनपुट के हर तीन बाइट चार Base64 वर्णों में बदलते हैं।

Base64 एन्कोडिंग है, एन्क्रिप्शन नहीं। एन्कोड की गई वैल्यू पाने वाला कोई भी व्यक्ति इसे पासवर्ड या गुप्त कुंजी के बिना डिकोड कर सकता है, इसलिए इससे गोपनीयता नहीं मिलती। पासवर्ड, API कुंजियां या निजी जानकारी रखने के लिए Base64 वैल्यू को सुरक्षित जगह न मानें।

आरेख: टेक्स्ट बेस64 डिकोडर टूल से दोनों दिशाओं में गुज़रता है

बेस64 डिकोडर का इस्तेमाल कैसे करें?

टूल में Base64 वैल्यू पेस्ट करके उसे डिकोड करें। इसके बाद नतीजा बेस64 डिकोड किया गया फ़ील्ड में देखें। कन्वर्ज़न करने के लिए सर्वर PHP के base64_decode फ़ंक्शन का इस्तेमाल करता है।

इनपुट HTTPS के ज़रिए सर्वर तक जाता है और उसे स्टोर नहीं किया जाता। यह प्रक्रिया केवल आपके ब्राउज़र में नहीं, बल्कि सर्वर पर होती है। इसलिए संवेदनशील सामग्री तभी सबमिट करें, जब आपको उसे किसी बाहरी सेवा को भेजने की अनुमति हो।

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

digily.link पर बेस64 डिकोडर टूल और उसका इनपुट फ़ॉर्म

उदाहरण और फ़ॉर्मैट के विकल्प

मानक Base64 का एक छोटा उदाहरण:

इनपुट: SGVsbG8=

आउटपुट: Hello

अंत में दिया गया बराबर का चिह्न पैडिंग है। यह चार वर्णों वाला Base64 ब्लॉक पूरा करने में मदद करता है और डिकोड किए गए नतीजे में किसी अतिरिक्त वर्ण को नहीं दर्शाता।

आम तौर पर दो तरह के अल्फ़ाबेट इस्तेमाल होते हैं:

  • मानक Base64 में + और / इस्तेमाल होते हैं। यह MIME ईमेल, डेटा URI और JSON पर आधारित कई API में आम है।
  • Base64url में इनकी जगह - और _ इस्तेमाल होते हैं। इसे URL, क्वेरी पैरामीटर और ऐसे टोकन के लिए बनाया गया है, जहां + और / असुविधाजनक हो सकते हैं। इसमें अक्सर पैडिंग हटा दी जाती है।

उसी वैरिएंट को चुनें जिसकी ज़रूरत वैल्यू बनाने वाले सिस्टम को है। अगर पहले अल्फ़ाबेट न बदला जाए, तो मानक डिकोडर Base64url इनपुट को गलत पढ़ सकता है या अस्वीकार कर सकता है। प्रक्रिया को उलटना हो तो बेस64 एन्कोडर का इस्तेमाल करें। एन्कोड किए गए इमेज डेटा के लिए कच्चे बाइनरी डेटा को टेक्स्ट के रूप में देखने के बजाय Base64 को छवि में टूल अधिक उपयोगी हो सकता है।

बेस64 डिकोडर टूल से बना नतीजे का उदाहरण

Base64 का इस्तेमाल कहां होता है?

जहां बाइनरी डेटा को टेक्स्ट-केंद्रित फ़ॉर्मैट से भेजना होता है, वहां अक्सर Base64 इस्तेमाल होता है। इसकी वैल्यू अकेले या किसी बड़े दस्तावेज़ के एक हिस्से के रूप में दिखाई दे सकती है।

  • डेटा URI छोटी इमेज, फ़ॉन्ट या दूसरे संसाधनों को HTML और CSS में एम्बेड करते हैं। इनके आगे अक्सर data:image/png;base64, जैसा प्रीफ़िक्स होता है।
  • JSON पेलोड में कभी-कभी फ़ाइलें, सर्टिफ़िकेट या क्रिप्टोग्राफ़िक सामग्री Base64 स्ट्रिंग के रूप में रखी जाती है, क्योंकि JSON में बाइनरी वैल्यू का अपना कोई प्रकार नहीं होता।
  • MIME ईमेल में अटैचमेंट और संदेश के उन हिस्सों के लिए Base64 इस्तेमाल होता है, जिन्हें सादे टेक्स्ट के रूप में सुरक्षित ढंग से नहीं भेजा जा सकता।
  • क्वेरी स्ट्रिंग और वेब टोकन में Base64url इस्तेमाल हो सकता है, ताकि URL में विशेष अर्थ रखने वाले वर्णों से बचा जा सके।
  • कॉन्फ़िगरेशन फ़ाइलों और एनवायरनमेंट वेरिएबल में कभी-कभी Base64 होता है, क्योंकि संबंधित सिस्टम प्रिंट किए जा सकने वाले टेक्स्ट की अपेक्षा करता है।

एन्कोड किए हुए दिखने वाले अंतरराष्ट्रीय डोमेन नामों के लिए अलग डिकोडर चाहिए। xn-- से शुरू होने वाला डोमेन लेबल Base64 नहीं, Punycode इस्तेमाल करता है। उसे Base64 डिकोडर में डालने से अपेक्षित Unicode डोमेन नाम नहीं मिलेगा।

Base64 डिकोड क्यों नहीं होता या बेतुका टेक्स्ट क्यों दिखाता है?

Base64 डिकोडिंग आम तौर पर तब विफल होती है या पढ़ने लायक नतीजा नहीं देती, जब इनपुट गलत वैरिएंट में हो, अधूरा हो, दो बार एन्कोड किया गया हो या टेक्स्ट के बजाय बाइनरी डेटा दर्शाता हो।

  • गलत अल्फ़ाबेट की समस्या तब आती है, जब - या _ वाला Base64url इनपुट मानक Base64 समझ लिया जाता है, या इसका उलटा होता है।
  • गायब या खराब पैडिंग के कारण अंतिम ब्लॉक अधूरा रह सकता है। कुछ डिकोडर बिना पैडिंग वाला इनपुट स्वीकार करते हैं, लेकिन वर्णों की संख्या को चार से भाग देने पर शेष एक आए, तो उससे मान्य Base64 नहीं बन सकता।
  • दोहरी एन्कोडिंग में पहली बार डिकोड करने के बाद भी Base64 जैसी दिखने वाली स्ट्रिंग मिलती है। अगर स्रोत ने जानबूझकर डेटा को दो बार एन्कोड किया था, तो दूसरी बार डिकोड करना पड़ सकता है।
  • बाइनरी आउटपुट इमेज, PDF, कंप्रेस किए गए आर्काइव और एन्क्रिप्टेड बाइट्स के लिए सामान्य है। इन बाइट्स को टेक्स्ट के रूप में खोलने पर चिह्न या रिप्लेसमेंट कैरेक्टर दिखाई देते हैं।
  • गलत टेक्स्ट एन्कोडिंग के कारण मान्य डिकोड किए गए बाइट्स भी गलत दिख सकते हैं। उदाहरण के लिए, UTF-8 डेटा को Windows-1252 मानकर पढ़ने से उच्चारण चिह्न वाले अक्षर बिगड़े हुए टेक्स्ट में बदल सकते हैं।
  • आसपास मौजूद अतिरिक्त सामग्री में डेटा URI प्रीफ़िक्स, उद्धरण चिह्न, JSON एस्केप या URL प्रतिशत-एन्कोडिंग शामिल हो सकती है। इसे पहले हटाना चाहिए।

PHP में base64_decode का डिफ़ॉल्ट मोड नॉन-स्ट्रिक्ट होता है और मानक अल्फ़ाबेट से बाहर के वर्णों को हटा सकता है। इससे MIME फ़ॉर्मैट वाले इनपुट की लाइन ब्रेक स्वीकार हो सकती हैं, लेकिन कॉपी करते समय हुई गलती साफ़-साफ़ बताने के बजाय छिप भी सकती है। अनपेक्षित आउटपुट को स्रोत फ़ॉर्मैट से मिलाएं और मूल वैल्यू का एक-एक वर्ण जांचें।

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

क्या Base64 में बड़े और छोटे अक्षरों से फ़र्क पड़ता है?

हां। Base64 अल्फ़ाबेट में बड़े और छोटे अक्षर अलग-अलग वैल्यू दर्शाते हैं। वैल्यू को एक जैसा दिखाने के लिए अक्षरों का केस बदलने से डिकोड किए गए बाइट्स खराब हो जाएंगे।

क्या Base64 डिकोडर से JWT डिकोड किया जा सकता है?

JSON Web Token में आम तौर पर Base64url से एन्कोड किए गए हिस्से होते हैं, जिन्हें फ़ुल स्टॉप अलग करते हैं। हर हिस्से को अलग से संभालना पड़ता है और हटाई गई पैडिंग को वापस जोड़ने की ज़रूरत हो सकती है। पेलोड पढ़ लेने से टोकन के हस्ताक्षर सत्यापित नहीं होते और न ही यह साबित होता है कि उसकी सामग्री असली है।

क्या डिकोड किए गए Base64 में वायरस या नुकसान पहुंचाने वाली फ़ाइल हो सकती है?

हां, क्योंकि Base64 किसी भी तरह के बाइट्स को दर्शा सकता है। इनमें एक्ज़ीक्यूटेबल फ़ाइलें, स्क्रिप्ट या नुकसान पहुंचाने वाले दस्तावेज़ भी शामिल हैं। केवल डिकोड करने से सामग्री अपने आप नहीं चलती, लेकिन किसी अनजान नतीजे को सेव करना या खोलना असुरक्षित हो सकता है। बाइनरी आउटपुट संभालने से पहले अपेक्षित फ़ाइल प्रकार और स्रोत जांचें।

डिकोड किए गए नतीजे में null वर्ण क्यों दिखाई देते हैं?

Null बाइट्स बाइनरी फ़ॉर्मैट और UTF-16 में एन्कोड किए गए टेक्स्ट में मिल सकते हैं। UTF-16 में कई लैटिन वर्णों के साथ एक शून्य बाइट जुड़ा होता है। अगर स्रोत के मुताबिक सामग्री टेक्स्ट है, तो null हटाने के बजाय उसकी कैरेक्टर एन्कोडिंग जांचें, क्योंकि इन्हें हटाने से डेटा खराब हो सकता है।

क्या Base64 का कोई तय फ़ाइल एक्सटेंशन होता है?

नहीं। Base64 डेटा दिखाने का एक तरीका है, फ़ाइल फ़ॉर्मैट नहीं। इसलिए इसका कोई अनिवार्य एक्सटेंशन नहीं होता। डिकोड किए गए बाइट्स से तय होता है कि नतीजा PNG, PDF, ZIP आर्काइव, टेक्स्ट फ़ाइल या कुछ और है।

अंतिम जांच

पक्का करें कि आपने केवल एन्कोड की गई वैल्यू कॉपी की है। पहचानें कि वह मानक Base64 इस्तेमाल करती है या Base64url, और मूल अक्षरों का केस बनाए रखें। अगर नतीजा पढ़ने योग्य नहीं है, तो जांचें कि उसे टेक्स्ट के रूप में दिखाने के बजाय फ़ाइल की तरह खोला जाना चाहिए या नहीं। किसी वैल्यू के सफलतापूर्वक डिकोड हो जाने का मतलब यह न मानें कि वह भरोसेमंद या गोपनीय है।

साझा करें

समान उपकरण

बेस64 एन्कोडर

हमारे Base64 एन्कोडर टूल के साथ किसी भी स्ट्रिंग को Base64 प्रारूप में एन्कोड करें सुरक्षित डेटा एन्कोडिंग के लिए।

4,958
41

लोकप्रिय उपकरण