एनकोडिंग डिटेक्टर

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

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

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

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

डिटेक्टर कैसे तय करता है

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

  • कैरेक्टर सेट। हेक्स में केवल 0-9 और a-f होते हैं। Base58 में कभी 0, O, I या l नहीं होते। + या / Base64 की ओर इशारा करते हैं, जबकि - और _ Base64URL की ओर।
  • लंबाई और पैडिंग। हेक्स में अंकों की संख्या सम होनी चाहिए। Base64 4 अक्षरों के समूहों में और Base32 8 अक्षरों के समूहों में काम करता है, और इनकी = पैडिंग केवल अंत में ही आ सकती है।
  • पढ़ने योग्य आउटपुट। जो उम्मीदवार प्रिंट करने योग्य अक्षरों से बने मान्य UTF-8 में डिकोड होता है, उसके सही होने की संभावना बेतरतीब दिखने वाले बाइट देने वाले उम्मीदवार से कहीं ज़्यादा होती है।
  • फ़ाइल सिग्नेचर। जो डिकोड किए गए बाइट किसी जाने-पहचाने मैजिक नंबर से शुरू होते हैं, जैसे PNG, JPEG, PDF, ZIP या gzip हेडर, उन्हें उनके फ़ाइल प्रकार के साथ दिखाया जाता है।

data: URI प्रीफ़िक्स, Adobe के <~ ~> डिलिमिटर या uuencode की begin लाइनों जैसे रैपर को संबंधित डिकोडर समझ लेते हैं। यह सब आपके ब्राउज़र में ही चलता है।

परिणाम एक रैंकिंग क्यों है, निश्चित उत्तर क्यों नहीं

वर्णमालाएँ आपस में काफ़ी हद तक मिलती-जुलती हैं। स्ट्रिंग 48656c6c6f हेक्स में Hello है, लेकिन यही दस अक्षर मान्य Base64, Base36, Base58 और Base62 भी हैं, और इनमें से हर एक अलग बाइट देता है। केवल हेक्स के रूप में पढ़ने पर पढ़ने योग्य टेक्स्ट मिलता है, इसलिए हेक्स सबसे ऊपर आता है। cafe जैसा छोटा शब्द लगभग हर वर्णमाला में फ़िट हो जाता है, और स्ट्रिंग में ऐसा कुछ नहीं होता जो बताए कि कौन-सी वर्णमाला इरादतन इस्तेमाल हुई थी।

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

आम एनकोडिंग को देखकर पहचानना

एनकोडिंगआम संकेत
हेक्सकेवल 0-9 a-f, सम लंबाई। 32, 40 या 64 अंकों का मतलब अक्सर MD5, SHA-1 या SHA-256 हैश होता है।
Base64A-Z a-z 0-9 + /, लंबाई 4 का गुणज, अंत में = या == हो सकता है।
Base64URL+ और / की जगह - और _, आमतौर पर पैडिंग नहीं। बिंदुओं से जुड़े तीन भाग हों तो वह JWT है।
Base32बड़े अक्षर A-Z और 2-7, 8 के गुणज तक = से पैडिंग।
Base580 O I l के बिना अक्षर और अंक। Bitcoin एड्रेस, Qm से शुरू होने वाले IPFS हैश।
Ascii85, Base85अक्षरों, अंकों और विराम चिह्नों का घना मिश्रण। Ascii85 कभी-कभी <~ ~> के बीच लिखा होता है।

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

कैसे पता करें कि कोई स्ट्रिंग Base64 है?
A-Z, a-z, 0-9, + और / अक्षर देखें, लंबाई 4 का गुणज होनी चाहिए और अंत में अधिकतम दो = चिह्न हो सकते हैं। उसे यहाँ पेस्ट करके देखें कि वह पढ़ने योग्य टेक्स्ट या किसी जाने-पहचाने फ़ाइल प्रकार में डिकोड होती है या नहीं। त्रुटियों की सटीक स्थिति के साथ सख़्त जाँच के लिए Base64 वैलिडेटर का उपयोग करें।
डिटेक्टर एक से ज़्यादा एनकोडिंग क्यों दिखाता है?

कई स्ट्रिंग, ख़ासकर छोटी स्ट्रिंग, एक साथ कई वर्णमालाओं में मान्य होती हैं। डिटेक्टर उन सभी एनकोडिंग की सूची बनाता है जो इनपुट को बिना त्रुटि के डिकोड करती हैं, और पढ़ने योग्य टेक्स्ट व फ़ाइल सिग्नेचर के आधार पर सबसे विश्वसनीय को सबसे पहले रखता है।

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

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

क्या पेस्ट की गई स्ट्रिंग किसी सर्वर पर भेजी जाती है?

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