ब्राउज़र-आधारित टूल

JWT एन्कोडर और साइनर

JSON से HMAC, RSA, RSA-PSS या ECDSA वाला साइन किया गया JWT बनाएं।

टूल डेटा स्थानीय रहता है · सामग्री अपलोड नहीं होती · अकाउंट नहीं चाहिए

HS एक साझा गुप्त कुंजी का उपयोग करता है; RS, PS और ES के लिए PEM PKCS#8 निजी कुंजी चाहिए।

प्रोडक्शन की गुप्त या निजी कुंजी किसी ब्राउज़र टूल में पेस्ट न करें। प्रोडक्शन में नियमित रूप से संभाली जाने वाली JWT लाइब्रेरी और सुरक्षित सर्वर-साइड कुंजी भंडारण इस्तेमाल करें।

यह टूल कैसे काम करता है

JSON से HMAC, RSA, RSA-PSS या ECDSA वाला साइन किया गया JWT बनाएं।

इनपुट का सही प्रारूप और मेटाडेटा देखने के लिए नमूना चलाएं, फिर उसकी जगह अपना मान डालें।

गोपनीयता और सुरक्षित उपयोग

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

प्रोडक्शन की गुप्त या निजी कुंजी किसी ब्राउज़र टूल में पेस्ट न करें। प्रोडक्शन में नियमित रूप से संभाली जाने वाली JWT लाइब्रेरी और सुरक्षित सर्वर-साइड कुंजी भंडारण इस्तेमाल करें।

आम समस्याएं और उनके कारण

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

समान कमांड

अपने काम में उपलब्ध रनटाइम या शेल का उपयोग करें। अविश्वसनीय इनपुट की जांच करें और बाइनरी आउटपुट सीधे टर्मिनल में न भेजें।

Python

import base64, hashlib, hmac, json
b64 = lambda value: base64.urlsafe_b64encode(value).rstrip(b'=').decode()
body = '.'.join([b64(json.dumps(header, separators=(',', ':')).encode()), b64(json.dumps(payload, separators=(',', ':')).encode())])
token = body + '.' + b64(hmac.new(secret, body.encode(), hashlib.sha256).digest())

JavaScript

import { createHmac } from 'node:crypto';
const b64 = value => Buffer.from(JSON.stringify(value)).toString('base64url');
const body = `${b64(header)}.${b64(payload)}`;
const token = `${body}.${createHmac('sha256', secret).update(body).digest('base64url')}`;

Shell

b64url() { openssl base64 -A | tr '+/' '-_' | tr -d '='; }
body="$(printf '%s' "$HEADER" | b64url).$(printf '%s' "$PAYLOAD" | b64url)"
sig=$(printf '%s' "$body" | openssl dgst -sha256 -mac HMAC -macopt "key:$SECRET" -binary | b64url)

मानक और आधिकारिक संदर्भ