JWT जेनरेटर
HS256/384/512, RS, PS, ES या EdDSA से साइन किए JSON Web Token बनाएं। पेलोड एडिट करें, exp और iat सेट करें, key या सीक्रेट जेनरेट करें – सब ब्राउज़र में।
हैश आकार जितने कम से कम रैंडम बाइट इस्तेमाल करें (HS256 के लिए 32 बाइट)। छोटे पासवर्ड ऑफ़लाइन ब्रूट-फ़ोर्स से तोड़े जा सकते हैं।
JWT जेनरेटर क्या है?
JWT जेनरेटर किसी भी JSON पेलोड को कॉम्पैक्ट JSON Web Token में साइन करता है। यह HMAC (HS256/384/512), RSA (RS256/384/512), RSA-PSS (PS256/384/512), ECDSA (ES256/384/512) और EdDSA (Ed25519) सपोर्ट करता है, एक क्लिक में iat और exp क्लेम जोड़ सकता है, और रैंडम सीक्रेट या ऐसी key pair जेनरेट कर सकता है जिसकी पब्लिक key आप वेरिफ़िकेशन के लिए इस्तेमाल कर सकते हैं।
JWT जेनरेटर का उपयोग कैसे करें
- एल्गोरिदम चुनें।
- पेलोड JSON एडिट करें; iat को अभी या exp को एक घंटा या एक दिन आगे सेट करने के लिए बटन इस्तेमाल करें।
- सीक्रेट (HS*) या PKCS#8 PEM / JWK प्राइवेट key डालें – या Generate random secret / Generate key pair दबाएं।
- चाहें तो key ID (kid) सेट करें, फिर Sign token दबाएं और टोकन (तथा असिमेट्रिक एल्गोरिदम के लिए पब्लिक key) कॉपी करें।
उदाहरण
HS256, payload {"sub":"1"}, secret your-256-bit-secret eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxIn0.rTCH8cLoGxAm_xw68z-zXVKi9ie6xJn9tnVWjd_9ftE
JWT जेनरेटर का उपयोग कब करें
इसे API डेवलपमेंट के लिए टेस्ट टोकन बनाने, बग दोहराने या JWT साइनिंग कैसे काम करती है यह सीखने के लिए इस्तेमाल करें। प्रोडक्शन में टोकन अपने auth सर्वर से जारी करें ताकि key सीक्रेट स्टोर में रहें; प्रोडक्शन की प्राइवेट key किसी वेबसाइट पर कभी न चिपकाएं।
JWT जेनरेटर कैसे काम करता है
साइनिंग ब्राउज़र के Web Crypto API के ऊपर jose लाइब्रेरी से होती है। हेडर {"alg": …, "typ": "JWT"} और वैकल्पिक kid होता है; हेडर और पेलोड JSON में सीरियलाइज़ होकर Base64URL-एन्कोड होते हैं और साइन किए जाते हैं। HMAC सीक्रेट UTF-8 बाइट की तरह इस्तेमाल होते हैं, या वह बॉक्स टिक होने पर Base64/Base64URL से डीकोड होते हैं। जेनरेट किए HMAC सीक्रेट हैश के आकार के अनुसार 32/48/64 रैंडम बाइट के होते हैं; key pair Web Crypto से बनती हैं और PKCS#8 व SPKI PEM के रूप में एक्सपोर्ट होती हैं।
सामान्य उपयोग मामले
- अपनी API का 401 हैंडलिंग टेस्ट करने के लिए expired टोकन बनाना।
- JWKS-आधारित वैलिडेटर टेस्ट करने के लिए RS256 key pair और टोकन जेनरेट करना।
- लोकल डेवलपमेंट के लिए कस्टम क्लेम वाला टोकन साइन करना।
- HS256 और ES256 सिग्नेचर का अंतर दिखाना।
सुरक्षा नोट
टेस्टिंग के लिए फेंकने लायक key इस्तेमाल करें। छोटा या अनुमान लगाने योग्य HMAC सीक्रेट उससे साइन किए किसी भी टोकन से ऑफ़लाइन brute-force किया जा सकता है।
अक्सर पूछे जाने वाले प्रश्न
मुझे कौन-सा एल्गोरिदम इस्तेमाल करना चाहिए?
जब वही सर्विस टोकन जारी और वेरिफ़ाई करती है और साझा सीक्रेट रख सकती है तब HS256। जब दूसरे पक्षों को पब्लिक key से टोकन वेरिफ़ाई करने हों तब RS256, ES256 या EdDSA।
मेरी RSA key अस्वीकार क्यों होती है?
BEGIN RSA PRIVATE KEY से शुरू होने वाली key PKCS#1 हैं। उन्हें openssl pkcs8 -topk8 -nocrypt -in key.pem से PKCS#8 (BEGIN PRIVATE KEY) में बदलें।
क्या जेनरेट की गई key सहेजी जाती हैं?
नहीं। वे पेज छोड़ने तक सिर्फ़ पेज में रहती हैं।