مولّد JWT
أنشئ رموز JSON Web Token موقّعة بـ HS256/384/512 أو RS أو PS أو ES أو EdDSA. عدّل الحمولة واضبط exp وiat وولّد المفاتيح أو الأسرار داخل متصفحك.
استخدم عددًا من البايتات العشوائية لا يقل عن حجم التجزئة (32 بايت لـ HS256). كلمات المرور القصيرة يمكن كسرها بالقوة الغاشمة دون اتصال.
ما هو مولّد 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 بنقرة واحدة، ويمكنه توليد سر عشوائي أو زوج مفاتيح تستخدم مفتاحه العام للتحقق.
كيفية استخدام مولّد JWT
- اختر الخوارزمية.
- عدّل JSON الحمولة؛ واستخدم الأزرار لضبط iat على الآن أو exp بعد ساعة أو يوم.
- أدخل سراً (HS*) أو مفتاحاً خاصاً بصيغة PKCS#8 PEM / JWK – أو اضغط Generate random secret / Generate key pair.
- اضبط معرّف المفتاح (kid) اختيارياً ثم اضغط Sign token وانسخ الرمز (والمفتاح العام للخوارزميات غير المتماثلة).
مثال
HS256, payload {"sub":"1"}, secret your-256-bit-secret eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxIn0.rTCH8cLoGxAm_xw68z-zXVKi9ie6xJn9tnVWjd_9ftE
متى تستخدم مولّد JWT
استخدمه لإنشاء رموز اختبار لتطوير API أو إعادة إنتاج أخطاء أو تعلم كيفية توقيع JWT. وفي الإنتاج أصدر الرموز من خادم المصادقة لديك كي تبقى المفاتيح في مخزن أسرار؛ ولا تلصق مفاتيح خاصة للإنتاج في موقع ويب.
كيف يعمل مولّد JWT
يعتمد التوقيع على مكتبة jose فوق واجهة Web Crypto API في المتصفح. الترويسة هي {"alg": …, "typ": "JWT"} مع kid اختياري؛ وتُسلسل الترويسة والحمولة بصيغة JSON وتُرمَّز بـ Base64URL وتُوقَّع. تُستخدم أسرار HMAC كبايتات UTF-8 أو تُفك من Base64/Base64URL عند تفعيل ذلك الخيار. أسرار HMAC المولّدة 32/48/64 بايتاً عشوائياً بحسب حجم دالة التجزئة؛ وتُنشأ أزواج المفاتيح بـ Web Crypto وتُصدَّر بصيغتي PKCS#8 وSPKI PEM.
حالات الاستخدام الشائعة
- إنشاء رمز منتهي لاختبار معالجة API للخطأ 401.
- توليد زوج مفاتيح RS256 ورمز لاختبار مدقق يعتمد JWKS.
- توقيع رمز بمطالبات مخصصة للتطوير المحلي.
- توضيح الفرق بين توقيعي HS256 وES256.
ملاحظة أمنية
استخدم مفاتيح للاستخدام مرة واحدة في الاختبار. يمكن كسر سر HMAC القصير أو سهل التخمين بالقوة الغاشمة دون اتصال من أي رمز موقّع به.
الأسئلة الشائعة
أي خوارزمية أستخدم؟
HS256 عندما تصدر الخدمة نفسها الرموز وتتحقق منها وتستطيع حفظ سر مشترك. وRS256 أو ES256 أو EdDSA عندما يجب على أطراف أخرى التحقق من الرموز بمفتاح عام.
لماذا يُرفض مفتاح RSA الخاص بي؟
المفاتيح التي تبدأ بـ BEGIN RSA PRIVATE KEY بصيغة PKCS#1. حوّلها بـ openssl pkcs8 -topk8 -nocrypt -in key.pem إلى PKCS#8 (BEGIN PRIVATE KEY).
هل تُخزَّن المفاتيح المولّدة؟
لا. توجد في الصفحة فقط حتى تغادرها.