Base64 से JSON: कुकी और सेशन डेटा को सुरक्षित रूप से कैसे डिकोड करें

Digital Account Market

· आखिरी अपडेट:

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

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

Base64 क्या है और कुकी व टोकन इसमें क्यों लपेटे जाते हैं

Base64 किसी भी डेटा को, यहाँ तक कि उद्धरण चिह्नों, कर्ली ब्रैकेट और हिंदी अक्षरों वाले टेक्स्ट को भी, सिर्फ़ 64 सुरक्षित वर्णों में लिखता है: A से Z, a से z, 0 से 9, और + व / चिह्न। जो सिस्टम कच्चे विराम चिह्न या लाइन ब्रेक नहीं सँभाल पाते, वे भी इस तरह डेटा ले जा सकते हैं, क्योंकि Base64 हर चीज़ को सादे, कॉपी करने में आसान टेक्स्ट में बदल देता है।

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

ध्यान रहे कि Base64 एक एन्कोडिंग है, एन्क्रिप्शन नहीं। इसमें न कोई पासवर्ड होता है न कोई कुंजी, और जिसके पास भी स्ट्रिंग है वह उसे वापस मूल टेक्स्ट में बदल सकता है, इसलिए स्ट्रिंग को ऐसे सँभालें जैसे वही डेटा हो।

Base64 स्ट्रिंग को कैसे पहचानें

कुछ भी डिकोड करने से पहले जाँच लें कि स्ट्रिंग सच में Base64 है। तीन त्वरित जाँचें आमतौर पर काफ़ी होती हैं।

वर्ण-समूह

मानक Base64 स्ट्रिंग में सिर्फ़ अक्षर, अंक, + और / होते हैं। अगर आपको कोलन, शब्दों के बीच खाली जगह या @ चिह्न दिखें, तो वह शायद कुछ और है। username:password:email:email_password:auth_token जैसी डिलीवरी लाइनें कोलन से अलग किया हुआ सादा टेक्स्ट हैं, Base64 नहीं, और कोई डिकोडर उन्हें समझ नहीं पाएगा।

पैडिंग

Base64 चार वर्णों के समूहों में काम करता है। जब डेटा आख़िरी समूह नहीं भर पाता, तो पैडिंग के रूप में एक या दो बराबर चिह्न जोड़ दिए जाते हैं। = या == पर ख़त्म होने वाली स्ट्रिंग एक मज़बूत संकेत है, लेकिन बिना बराबर चिह्न की स्ट्रिंग भी तब मान्य होती है जब उसकी लंबाई सही बैठ जाए, और कुछ टूल जानबूझकर पैडिंग हटा देते हैं।

पहचान कराने वाली शुरुआत

JSON ऑब्जेक्ट कर्ली ब्रैकेट और उद्धरण चिह्न से शुरू होता है, और यह जोड़ी हमेशा एक ही शुरुआत में एन्कोड होती है। eyJ से शुरू होने वाली स्ट्रिंग लगभग हमेशा JSON ऑब्जेक्ट होती है, W3si का मतलब आमतौर पर ऑब्जेक्ट की सूची होता है, और WyJ का मतलब टेक्स्ट मानों की सूची। अगर आपकी स्ट्रिंग इसी तरह शुरू होती है, तो उसे डिकोड करने पर JSON मिलना चाहिए।

पक्का नहीं है? कोई नमूना फ़ॉर्मैट पहचानने वाले टूल में पेस्ट करें। यह वर्णमाला, पैडिंग और लंबाई जाँचता है और बताता है कि टेक्स्ट Base64, JSON या कुछ और जैसा दिखता है।

Base64 से JSON: मुफ़्त टूल से डिकोड करें

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

  • Base64 स्ट्रिंग को इनपुट बॉक्स में पेस्ट करें। अगर देखना चाहते हैं कि सही नतीजा कैसा दिखता है, तो पहले उदाहरण वाला बटन आज़माएँ।
  • नतीजा तुरंत दिखता है। अगर डिकोड किया गया टेक्स्ट वैध JSON है, तो वह दो स्पेस की इंडेंटेशन के साथ सुव्यवस्थित रूप में दिखता है, जिससे अंदर-अंदर बने फ़ील्ड देखना आसान हो जाता है।
  • ढाँचा पढ़ें, फिर कॉपी बटन से JSON ले जाएँ।

टूल डिकोड करने से पहले खाली जगहें और लाइन ब्रेक हटा देता है और बाइट्स को UTF-8 में पढ़ता है, इसलिए एक्सेंट वाले अक्षर और गैर-लैटिन लिपियाँ बिगड़े हुए चिह्नों की जगह सही निकलती हैं। जाँचने के लिए eyJ1c2VyIjoiaGVzYXAxIiwidG9rZW4iOiJhYmMxMjMifQ== पेस्ट करें, आपको user और token फ़ील्ड वाला एक ऑब्जेक्ट मिलेगा।

अगर डिकोड किया गया टेक्स्ट पढ़ने लायक है लेकिन JSON नहीं है, तो टूल नतीजा फेंकने के बजाय उसे सादे टेक्स्ट के रूप में दिखाता है। अकेले टोकन के साथ ऐसा आम है, और यह भी सफल डिकोड ही है।

डिकोड की गलतियाँ ठीक करें: पैडिंग, लाइन ब्रेक और URL-safe रूप

जब डिकोड नहीं हो पाता, तो वजह लगभग हमेशा इनमें से कोई एक होती है।

पैडिंग का न होना

स्ट्रिंग कट गई थी या उसके बराबर चिह्न हटा दिए गए थे। eyJpZCI6MX0= और eyJpZCI6MTIzfQ== की तुलना करें: पहली को एक बराबर चिह्न चाहिए, दूसरी को दो। लंबाई चार का गुणज होने तक = जोड़ें। अपवाद वह स्ट्रिंग है जिसकी लंबाई को चार से भाग देने पर शेष एक बचता है: कोई पैडिंग उसे ठीक नहीं करती, क्योंकि कॉपी करते समय वर्ण खो गए थे, और आपको मूल की नई कॉपी चाहिए।

लाइन ब्रेक और फालतू खाली जगहें

ईमेल क्लाइंट, चैट ऐप और टेक्स्ट फ़ाइलें अक्सर लंबी स्ट्रिंग को कई लाइनों में तोड़ देती हैं। ये टूटन डेटा का हिस्सा नहीं हैं। टूल इन्हें आपके लिए हटा देता है, लेकिन दूसरे डिकोडर शायद न हटाएँ।

URL-safe रूप

वेब पतों के लिए बनी स्ट्रिंग + की जगह - और / की जगह _ रखती हैं ताकि लिंक के अंदर सलामत रहें, और मानक डिकोडर इन दोनों वर्णों को अस्वीकार कर देता है। हर - को + से और हर _ को / से बदलें, पैडिंग वापस जोड़ें और फिर से डिकोड करें।

गलती से पेस्ट हुई अकाउंट लाइनें

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

JSON से Base64 एन्कोड: जो टूल यही माँगते हैं उनके लिए वापस बदलें

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

टूल पहले आपका JSON जाँचता है, इसलिए छूटा हुआ कॉमा या बिना बंद हुआ कर्ली ब्रैकेट टूटा हुआ पेलोड एन्कोड करने से पहले ही पकड़ में आ जाता है। एन्कोडिंग UTF-8 इस्तेमाल करती है, जिससे आना-जाना भरोसेमंद रहता है: एक स्ट्रिंग डिकोड करें, एक फ़ील्ड बदलें, फिर से एन्कोड करें, और बाक़ी सारे फ़ील्ड ठीक वैसे ही लौटते हैं जैसे थे।

अगर आपकी कुकी Netscape फ़ॉर्मैट वाली टेक्स्ट फ़ाइल में हैं, तो उन्हें Netscape कुकी टूल से बदलें और Netscape कुकी को JSON में बदलने वाली हमारी गाइड देखें। अगर आप auth token के साथ काम करते हैं, तो auth token से Twitter में लॉगिन करना देखें।

डिकोड किए गए डेटा को निजी रखें

डिकोड की हुई कुकी और सेशन डेटा में ऐसे टोकन हो सकते हैं जो अकाउंट की चाबी की तरह काम करते हैं, इसलिए कुछ आदतें अपनाने लायक हैं।

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

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

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

मुझे कैसे पता चलेगा कि कोई स्ट्रिंग Base64 है?

तीन बातें देखें: क्या वह सिर्फ़ अक्षर, अंक, + और / इस्तेमाल करती है; क्या उसकी लंबाई चार के समूहों और वैकल्पिक = पैडिंग में बैठती है; और JSON ऑब्जेक्ट होने पर क्या वह अक्सर eyJ से शुरू होती है। फ़ॉर्मैट पहचानने वाला टूल यह जाँच अपने-आप कर देता है।

मेरा Base64 डिकोड होकर पढ़ने में न आने वाले वर्ण क्यों दे रहा है?

या तो डेटा कभी टेक्स्ट था ही नहीं, जैसे कोई इमेज या कंप्रेस्ड कंटेंट, या उसमें कोई दूसरा कैरेक्टर सेट इस्तेमाल हुआ था। अगर स्ट्रिंग URL-safe रूप में है और उसे पहले बदला नहीं गया, तब भी बेतुके वर्ण मिलते हैं।

आख़िर में बराबर चिह्न का क्या मतलब है?

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

क्या Base64 एक तरह का एन्क्रिप्शन है?

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

JSON को वापस Base64 में कैसे बदलूँ?

JSON को JSON से Base64 टूल में पेस्ट करें, कॉम्पैक्ट या इंडेंट वाला आउटपुट चुनें और नतीजा कॉपी करें। टूल एन्कोड करने से पहले अवैध JSON को चिह्नित कर देता है।

टूल्स

लोकप्रिय श्रेणियाँ

सपोर्टचैनल