JWT डीकोडर

तुमच्या ब्राउझरमध्येच झटपट JWT हेडर आणि पेलोड डीकोड करा.

तुमचा JWT पेस्ट करा
तयार. डीकोड करण्यासाठी JWT पेस्ट करा.

तुमचे टोकन तुमच्या ब्राउझरमध्ये डीकोड केले जाते. BroBroGo वर काहीही अपलोड केले जात नाही.

नेहमी विचारले जाणारे प्रश्न

माझा JWT येथे पेस्ट करणे सुरक्षित आहे का?

होय. डीकोडिंग पूर्णपणे तुमच्या ब्राउझरमध्ये होते — तुमचे टोकन कधीही BroBroGo कडे पाठवले जात नाही.

हे स्वाक्षरी (signature) पडताळते का?

नाही. हे फक्त तुम्हाला वाचण्यासाठी हेडर आणि पेलोड डीकोड करते. स्वाक्षरी (signature) पडताळण्यासाठी स्वाक्षरीचे गुपित (signing secret) किंवा पब्लिक की आवश्यक असते, जी हे टूल कधीही मागत नाही.

माझे टोकन कालबाह्य (expire) झाले आहे हे मला कसे समजेल?

डीकोडर 'exp' क्लेम वाचतो आणि डीकोड केलेल्या टोकनच्या शेजारी स्टेटस बॅज — वैध, कालबाह्य, अद्याप वैध नाही किंवा कालबाह्यता नाही — दाखवतो.

JSON Web Token (JWT) ची रचना आणि कार्यपद्धती

JSON Web Token (JWT) हे वेब ॲप्लिकेशन्समध्ये सुरक्षितपणे माहितीची देवाणघेवाण करण्यासाठी वापरले जाणारे एक कॉम्पॅक्ट आणि स्वयंपूर्ण साधन आहे. एक मानक JWT प्रामुख्याने तीन भागांमध्ये विभागलेला असतो, जे भाग एकमेकांपासून डॉट (.) चिन्हाने वेगळे केलेले असतात. या तीन भागांमध्ये हेडर, पेलोड आणि स्वाक्षरी (Signature) यांचा समावेश होतो.

या रचनेमधील पहिला भाग म्हणजेच हेडर हा टोकनचा प्रकार आणि स्वाक्षरीसाठी वापरलेला अल्गोरिदम दर्शवतो. दुसरा भाग पेलोड असतो, ज्यामध्ये प्रत्यक्ष डेटा किंवा क्लेम्स (Claims) समाविष्ट असतात. तिसरा भाग स्वाक्षरीचा असतो, जो टोकनमध्ये कोणताही बदल केला गेला नसल्याची खात्री करण्यासाठी वापरला जातो. हे तिन्ही भाग Base64URL एन्कोडिंग पद्धतीचा वापर करून एन्कोड केलेले असतात, ज्यामुळे ते सुरक्षितपणे URL द्वारे किंवा HTTP हेडरमध्ये पाठवता येतात.

JWT हेडर आणि त्यातील सामान्य क्लेम्स

JWT चा हेडर हा टोकनबद्दलची मेटाडेटा माहिती देणारा भाग आहे. हा भाग JSON स्वरूपात असतो आणि नंतर तो Base64URL मध्ये एन्कोड केला जातो. हेडरमध्ये सामान्यतः खालील क्लेम्स समाविष्ट असतात:

  • alg: टोकन सुरक्षित करण्यासाठी आणि स्वाक्षरी तयार करण्यासाठी वापरला जाणारा अल्गोरिदम, जसे की HS256 किंवा RS256.
  • typ (Type): टोकनचा प्रकार दर्शवण्यासाठी याचा वापर केला जातो, जो सामान्यतः "JWT" असा असतो.

या हेडरचा मुख्य उद्देश प्राप्तकर्त्याला हे सांगणे असतो की टोकनची स्वाक्षरी तपासण्यासाठी कोणत्या अल्गोरिदमचा वापर करायचा आहे.

JWT पेलोड आणि त्यातील क्लेम्स

पेलोड हा टोकनचा मुख्य गाभा असतो, ज्यामध्ये युझरची माहिती किंवा इतर आवश्यक डेटा साठवला जातो. या माहितीला 'क्लेम्स' (Claims) असे म्हटले जाते. पेलोडमधील क्लेम्स प्रामुख्याने तीन प्रकारचे असतात: नोंदणीकृत (Registered), सार्वजनिक (Public) आणि खाजगी (Private). पेलोडमध्ये सामान्यतः आढळणारे काही महत्त्वाचे नोंदणीकृत क्लेम्स खालीलप्रमाणे आहेत:

  • iat (Issued At): हे टोकन नेमके कोणत्या वेळी जारी केले गेले आहे याची वेळ दर्शवते.
  • exp (Expiration Time): हे टोकन कधी कालबाह्य होणार आहे ती वेळ दर्शवते. या वेळेनंतर टोकन अवैध मानले जाते.

पेलोडमधील डेटा देखील JSON स्वरूपात असतो आणि तो Base64URL पद्धतीने एन्कोड केलेला असतो.

Base64URL एन्कोडिंग आणि JSON चे महत्त्व

JWT मध्ये माहिती साठवण्यासाठी JSON (JavaScript Object Notation) फॉरमॅटचा वापर केला जातो, कारण हा फॉरमॅट वाचण्यासाठी आणि तयार करण्यासाठी अत्यंत सोपा आहे. परंतु, JSON मधील काही अक्षरे जसे की कं कंस, कोट्स किंवा स्पेस हे थेट URL मध्ये पाठवणे सुरक्षित नसते.

या समस्येचे निवारण करण्यासाठी Base64URL एन्कोडिंगचा वापर केला जातो. Base64URL ही सामान्य Base64 चीच एक सुधारित आवृत्ती आहे, ज्यामध्ये URL मध्ये अडथळा ठरणारी '+' आणि '/' सारखी चिन्हे बदलून अनुक्रमे '-' आणि '_' चा वापर केला जातो, तसेच पॅडिंगसाठी वापरले जाणारे '=' चिन्ह काढून टाकले जाते. यामुळे संपूर्ण टोकन कोणत्याही अडथळ्याशिवाय वेब ब्राउझर आणि सर्व्हर दरम्यान ट्रान्सफर करता येते.

डीकोडिंग आणि स्वाक्षरी पडताळणी (Verification) मधील फरक

JWT वापरताना डीकोडिंग (Decoding) आणि पडताळणी (Verification) या दोन पूर्णपणे भिन्न प्रक्रिया आहेत हे समजून घेणे आवश्यक आहे.

डीकोडिंग म्हणजे केवळ Base64URL एन्कोड केलेल्या स्ट्रिंगला पुन्हा मूळ JSON स्वरूपात रूपांतरित करणे. ही प्रक्रिया करण्यासाठी कोणत्याही गुप्त की (Secret Key) किंवा पब्लिक की (Public Key) ची आवश्यकता नसते. कोणताही व्यक्ती ज्याच्याकडे टोकन आहे, तो ते सहजपणे डीकोड करून त्यातील हेडर आणि पेलोड वाचू शकतो.

दुसरीकडे, पडताळणी (Verification) म्हणजे टोकनची स्वाक्षरी (Signature) वैध आहे की नाही हे तपासणे. यासाठी स्वाक्षरीचे गुपित (signing secret) किंवा पब्लिक की आवश्यक असते. स्वाक्षरी पडताळल्याशिवाय टोकनमधील माहितीवर विश्वास ठेवणे किंवा ती स्वीकारणे सुरक्षेच्या दृष्टीने अत्यंत धोकादायक ठरू शकते, कारण स्वाक्षरी न तपासल्यास टोकनमध्ये फेरबदल (tampering) झाले आहेत की नाही हे समजू शकत नाही.

JWT डीकोडर टूलची कार्यपद्धती आणि नियम

हे JWT डीकोडर टूल तुम्हाला तुमच्या टोकनचे हेडर आणि पेलोड झटपट डीकोड करून पाहण्यास मदत करते. हे टूल वापरताना खालील नियम आणि त्रुटींचे संदेश लागू होतात:

  • इनपुट मर्यादा: इनपुट फील्डमध्ये वैध JWT पेस्ट करणे आवश्यक आहे, ज्यामध्ये डॉट (.) चिन्हाने विभाजित केलेले तीन भाग असणे अनिवार्य आहे. जर इनपुट रिकामे असेल, तर टूल "तयार. डीकोड करण्यासाठी JWT पेस्ट करा." या स्थितीत राहते.
  • अवैध फॉरमॅट: जर इनपुटमध्ये तीन डॉट-विभाजित भाग नसतील, तर टूल "वैध JWT नाही — तीन डॉट-विभाजित भागांची अपेक्षा होती." हा त्रुटी संदेश दाखवते.
  • Base64URL त्रुटी: जर हेडर किंवा पेलोड अवैध Base64URL मुळे डीकोड होऊ शकले नाही, तर अनुक्रमे "हेडर डीकोड करता आले नाही — अवैध Base64URL" किंवा "पेलोड डीकोड करता आले नाही — अवैध Base64URL" असे दर्शवले जाते.
  • अवैध JSON: डीकोड केलेली माहिती जर वैध JSON नसेल, तर "हेडर वैध JSON नाही." किंवा "पेलोड वैध JSON नाही." हा संदेश दिसतो.
  • लांबी मर्यादा: जर इनपुट टोकन खूप मोठे असेल, तर टूल "ते वास्तविक JWT असण्यासाठी खूप मोठे आहे." हा संदेश दाखवते.
  • साफ करणे: जेव्हा इनपुट साफ केले जाते, तेव्हा फोकस पुन्हा इनपुट फील्डवर येतो आणि डीकोड केलेले क्षेत्र लपवले जातात.

हे टूल टोकनची स्वाक्षरी पडताळत नाही आणि स्वाक्षरीचे गुपित किंवा पब्लिक की देखील मागत नाही.

गोपनीयता आणि डेटा प्रक्रिया

या टूलचा वापर करताना तुमची गोपनीयता पूर्णपणे राखली जाते. तुमचे टोकन केवळ तुमच्या ब्राउझरमध्ये डीकोड केले जाते. BroBroGo वर काहीही अपलोड केले जात नाही. संपूर्ण प्रक्रिया स्थानिक पातळीवर (locally) तुमच्या डिव्हाइसवर पार पडते.

वारंवार विचारले जाणारे प्रश्न (FAQ)

माझा JWT येथे पेस्ट करणे सुरक्षित आहे का?
होय. डीकोडिंग पूर्णपणे तुमच्या ब्राउझरमध्ये होते — तुमचे टोकन कधीही BroBroGo कडे पाठवले जात नाही.

हे स्वाक्षरी (signature) पडताळते का?
नाही. हे फक्त तुम्हाला वाचण्यासाठी हेडर आणि पेलोड डीकोड करते. स्वाक्षरी (signature) पडताळण्यासाठी स्वाक्षरीचे गुपित (signing secret) किंवा पब्लिक की आवश्यक असते, जी हे टूल कधीही मागत नाही.

माझे टोकन कालबाह्य (expire) झाले आहे हे मला कसे समजेल?
डीकोडर 'exp' क्लेम वाचतो आणि डीकोड केलेल्या टोकनच्या शेजारी स्टेटस बॅज — वैध, कालबाह्य, अद्याप वैध नाही किंवा कालबाह्यता नाही — दाखवतो. जर टोकनमध्ये 'exp' क्लेम नसेल, तर "कालबाह्यता नाही" असे स्टेटस दिसते.