JWT डिकोडर

JWT का हेडर और पेलोड तुरंत आपके ब्राउज़र में डिकोड करें।

अपना JWT पेस्ट करें
शुरू करने के लिए एक JWT पेस्ट करें।

आपका टोकन आपके ब्राउज़र में डिकोड होता है, BroBroGo पर अपलोड नहीं होता।

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

क्या यहां अपना JWT पेस्ट करना सुरक्षित है?

हां, डिकोडिंग पूरी तरह आपके ब्राउज़र में होती है — आपका टोकन कभी BroBroGo को नहीं भेजा जाता।

क्या यह सिग्नेचर वेरिफाई करता है?

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

मुझे कैसे पता चलेगा कि मेरा टोकन एक्सपायर हो चुका है?

डिकोडर exp क्लेम को पढ़कर डिकोड किए गए टोकन के बगल में एक स्टेटस बैज दिखाता है — वैध, एक्सपायर्ड, अभी वैध नहीं, या कोई एक्सपायरी नहीं।

JSON Web Token (JWT) की संरचना और कार्यप्रणाली

JSON Web Token (JWT) एक कॉम्पैक्ट और यूआरएल-सुरक्षित माध्यम है जिसका उपयोग दो पक्षों के बीच दावों (claims) को साझा करने के लिए किया जाता है। एक मानक JWT मुख्य रूप से तीन हिस्सों से मिलकर बनता है जो एक दूसरे से डॉट (.) चिह्न द्वारा अलग किए जाते हैं। इन तीन हिस्सों में हेडर, पेलोड, और सिग्नेचर (Signature) शामिल होते हैं।

इस संरचना को समझने के लिए Base64URL एन्कोडिंग की भूमिका को जानना आवश्यक है। JWT के पहले दो हिस्सों (हेडर और पेलोड) को JSON फॉर्मेट में तैयार किया जाता है और फिर उन्हें Base64URL एन्कोडिंग के जरिए सुरक्षित रूप से ट्रांसफर करने योग्य स्ट्रिंग में बदला जाता है। तीसरा हिस्सा, यानी सिग्नेचर, हेडर और पेलोड की प्रामाणिकता सुनिश्चित करने के लिए तैयार किया जाता है। यह टूल इन एन्कोडेड हिस्सों को वापस उनके मूल JSON प्रारूप में बदलकर आपके सामने प्रदर्शित करता है।

JWT हेडर और पेलोड के सामान्य क्लेम्स

JWT का पहला हिस्सा हेडर होता है, जो मुख्य रूप से टोकन के बारे में मेटाडेटा की जानकारी देता है। इसमें सामान्यतः निम्नलिखित क्लेम्स शामिल होते हैं:

  • एल्गोरिद्म (alg): यह दर्शाता है कि टोकन को सुरक्षित करने के लिए किस क्रिप्टोग्राफिक एल्गोरिद्म (जैसे HS256 या RS256) का उपयोग किया गया है।
  • टाइप (typ): यह टोकन के प्रकार को निर्दिष्ट करता है, जो आमतौर पर "JWT" होता है।

दूसरा हिस्सा पेलोड होता है, जिसमें वास्तविक डेटा या दावे (claims) होते हैं। पेलोड में मौजूद कुछ महत्वपूर्ण मानक क्लेम्स इस प्रकार हैं:

  • जारी करने का समय (iat): यह वह समय (timestamp) दर्शाता है जब टोकन को जनरेट या जारी किया गया था।
  • एक्सपायरी (exp): यह वह समय सीमा तय करता है जिसके बाद टोकन अमान्य या अनुपयोगी हो जाता है।

डिकोडिंग और वेरिफिकेशन में अंतर

टोकन को डिकोड करने और उसे सत्यापित (verify) करने के बीच एक बड़ा तकनीकी अंतर है।

यह टूल केवल एक डिकोडर है। इसका अर्थ यह है कि यह केवल Base64URL एन्कोडेड स्ट्रिंग को पढ़कर उसे इंसानों के समझने योग्य JSON फॉर्मेट में बदलता है। यह प्रक्रिया बिना किसी सीक्रेट की (secret key) या पब्लिक की (public key) के पूरी की जा सकती है। यह टूल सिग्नेचर की जांच नहीं करता है और न ही आपसे साइनिंग सीक्रेट या पब्लिक की की मांग करता है।

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

टूल के इनपुट और आउटपुट पैरामीटर्स

इस टूल का उपयोग करने के लिए आपको इनपुट के रूप में एक JWT स्ट्रिंग प्रदान करनी होती है। इस इनपुट के लिए कुछ बुनियादी नियम निर्धारित हैं:

  • इनपुट स्ट्रिंग में डॉट से अलग तीन हिस्से होने चाहिए।
  • इनपुट की लंबाई एक वास्तविक टोकन की सीमा के भीतर होनी चाहिए।

सफलतापूर्वक डिकोड होने पर टूल निम्नलिखित आउटपुट प्रदर्शित करता है:

  • हेडर: JSON प्रारूप में डिकोड किया गया हेडर।
  • पेलोड: JSON प्रारूप में डिकोड किया गया पेलोड।
  • एल्गोरिद्म: टोकन में उपयोग किया गया एल्गोरिद्म।
  • टाइप: टोकन का प्रकार।
  • जारी करने का समय: टोकन जारी होने का समय।
  • एक्सपायरी: टोकन की समाप्ति का समय।
  • वर्ण: इनपुट किए गए JWT में कुल कैरेक्टर्स की संख्या।
  • स्टेटस: टोकन की वैधता स्थिति दर्शाने वाला एक बैज।

त्रुटियां और उनके नियम

यदि इनपुट किया गया टोकन अमान्य है या उसमें कोई त्रुटि है, तो डिकोड किए गए हिस्से छिप जाते हैं और टूल विशिष्ट त्रुटि संदेश दिखाता है:

  • यदि इनपुट खाली है, तो टूल "शुरू करने के लिए एक JWT पेस्ट करें।" की स्थिति में रहता है।
  • यदि इनपुट में तीन डॉट-अलग हिस्से नहीं हैं, तो संदेश दिखाई देता है: "यह वैध JWT नहीं है — इसमें डॉट से अलग तीन हिस्से होने चाहिए।"।
  • यदि हेडर का Base64URL अमान्य है: "हेडर डिकोड नहीं हो सका — Base64URL अमान्य है।"।
  • यदि पेलोड का Base64URL अमान्य है: "पेलोड डिकोड नहीं हो सका — Base64URL अमान्य है।"।
  • यदि हेडर डिकोड होने के बाद वैध JSON नहीं है: "हेडर वैध JSON नहीं है।"।
  • यदि पेलोड डिकोड होने के बाद वैध JSON नहीं है: "पेलोड वैध JSON नहीं है।"।
  • यदि इनपुट बहुत लंबा है: "यह असली JWT के लिए बहुत लंबा है।"।

जब आप इनपुट को साफ़ करते हैं, तो फोकस वापस इनपुट फ़ील्ड पर चला जाता है और स्क्रीन पर "साफ़ हो गया।" प्रदर्शित होता है।

गोपनीयता और डेटा प्रोसेसिंग

इस टूल का उपयोग करते समय आपकी गोपनीयता पूरी तरह सुरक्षित रहती है। आपका टोकन आपके ब्राउज़र में डिकोड होता है, BroBroGo पर अपलोड नहीं होता। संपूर्ण प्रोसेसिंग स्थानीय स्तर पर आपके अपने डिवाइस पर ही निष्पादित की जाती है।

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

क्या यहां अपना JWT पेस्ट करना सुरक्षित है?
हां, डिकोडिंग पूरी तरह आपके ब्राउज़र में होती है — आपका टोकन कभी BroBroGo को नहीं भेजा जाता।

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

मुझे कैसे पता चलेगा कि मेरा टोकन एक्सपायर हो चुका है?
डिकोडर exp क्लेम को पढ़कर डिकोड किए गए टोकन के बगल में एक स्टेटस बैज दिखाता है — वैध, एक्सपायर्ड, अभी वैध नहीं, या कोई एक्सपायरी नहीं। यह केवल exp क्लेम की जांच करता है — यह सिग्नेचर, जारीकर्ता या ऑडियंस को सत्यापित नहीं करता है।

यदि टोकन में कोई exp क्लेम न हो तो क्या होगा?
यदि टोकन में कोई एक्सपायरी क्लेम मौजूद नहीं है, तो टूल स्टेटस के रूप में "कोई एक्सपायरी नहीं" प्रदर्शित करता है।