مولد JWT
قم بإنشاء وتوقيع رمز JWT مباشرةً من خلال متصفحك. أدخل بيانات المطالبات الخاصة بالحمولة (مثل sub، aud، exp وغيرها، بالإضافة إلى أي بيانات مخصصة)، واختر الخوارزمية المناسبة (HS256 مع سر مشترك أو RS256/ES256 مع مفتاح خاص)، وسيقوم الأداة بإنتاج الرمز المكوَّن من ثلاثة أجزاء. يُعد هذا الأداة مفيدة للتطوير المحلي، واختبار الأحمال، وإعادة إنتاج مشكلات المصادقة.
كيفية إنشاء رمز توقيع جي وي تي (JWT)
-
1
اكتب الحمولة (Payload).
المطالبات القياسية (`sub`، `iss`، `aud`، `exp`، `iat`، `nbf`) بالإضافة إلى أي مطالبات مخصصة تتوقعها تطبيقك.
-
2
اختر الخوارزمية
HS256/384/512 مع سر مشترك، أو RS256/ES256 مع مفتاح خاص بصيغة PEM.
-
3
قدم المفتاح
أدخل النص السري المشترك الخاص بخوارزمية HMAC، أو لصق المفتاح الخاص الخاص بخوارزميتي RSA و ECDSA؛ يبقى كلاهما داخل متصفحك.
-
4
تم إنشاؤه
النتيجة هي الرمز الموقّع؛ قم بنسخه واستخدمه في الاختبارات، ثم فك تشفيره باستخدام أداة فك التشفير JWT لفحصه.
الحمولة النموذجية لرمز المستخدم المصادق عليه
{
"iss": "https://auth.example.com",
"aud": "api.example.com",
"sub": "user_12345",
"iat": 1713398400,
"nbf": 1713398400,
"exp": 1713402000,
"jti": "3c7c7e14-2de4-41f0-bf09-1eb5cfad4c01",
"scope": "read:profile write:posts"
}
اختيار الخوارزمية: HMAC مقابل الخوارزميات غير المتماثلة
| الخوارزمية | نوع المفتاح | يُستخدم عند |
|---|---|---|
| HS256 | سر مشترك بطول 256 بت | وحدة متكاملة تقوم بالتوقيع على البيانات والتحقق منها بنفسها |
| HS384/512 | سرية أعلى | يتطابق مع HS256، وأكثر أمانًا |
| RS256 | RSA 2048+ | توقيعات الجهة المصدرة، وتُتحقق العديد من الخدمات باستخدام المفتاح العام |
| ES256 | ECDSA P-256 | يتطابق مع RS256 لكنه يستخدم توقيعات أصغر حجمًا |
| EdDSA | Ed25519 | أسرع طريقة للتحقق غير المتماثل، وأصغر مفاتيح |
قوة المفتاح
- يجب أن تحتوي أسرار HMAC على قدر من الإنتروبيا لا يقل عن حجم مخرجات الخوارزمية؛ فخوارزمية HS256 تتطلب 256 بتًا عشوائيًا (32 بايتًا)، وأي قيمة أقل يمكن كسرها بأسلوب القوة الغاشمة (brute-force).
- يجب أن تكون مفاتيح RSA بطول 2048 بت على الأقل؛ و3072 أو 4096 بت في حالة الرموز ذات العمر الطويل.
- يوفر ECDSA (ES256) مستوى أمان مماثل لـ RSA 3072، مع مفاتيح أصغر بكثير وعملية توقيع أسرع.
إرشادات انتهاء الصلاحية
| نوع الرمز | المدة النموذجية لـ exp |
|---|---|
| رمز الوصول | 5–60 دقيقة |
| رمز التحديث | من أيام إلى أسابيع |
| إعادة تعيين كلمة المرور | 5–15 دقيقة |
| التحقق عبر البريد الإلكتروني | 24 ساعة |
| من خدمة إلى أخرى | من دقيقة إلى خمس دقائق (مختصر) |
رمز الاستحقاق القصير مع تحديث دوري يُعد النموذج الحديث المعتاد. أما رموز الوصول طويلة الأمد، فهي صعبة إلغاؤها عند التعرض للاختراق.
الأخطاء الشائعة
- إعادة استخدام سر اختباري في بيئة الإنتاج. يضع المولّد علامة على أسرار HS256 وعلى رمز JWT الناتج كـ“مخصصة للاختبار فقط“ إذا بدا السر ضعيفًا؛ اتبع هذا التحذير بدقة.
- التوقيع دون
exp. رمز JWT الذي لا يمتلك تاريخ انتهاء صلاحية يظل ساري المفعول إلى الأبد. عيّنexpدائمًا، ما لم يكن لديك سبب قوي جدًا وقائمة إلغاء. - استخدام
algالمأخوذ من الترويسة في جهة التحقق. أدرج الخوارزميات دائمًا ضمن قائمة بيضاء في جانب التحقق، ولا تلتزم بما يطلبه الرمز. - لصق مفتاح خاص حقيقي هنا. يعمل هذا المولّد داخل متصفحك، لكن يجب التعامل مع المفاتيح الخاصة كأسرار؛ استخدم مفاتيح اختبار بدلًا من مفاتيح البيئة الإنتاجية.
الأسئلة الشائعة
لا، عملية التوقيع تتم في متصفحك باستخدام واجهة برمجة التطبيقات الخاصة بالترميز الرقمي عبر الويب (Web Crypto API). لا يغادر المفاتيح أجهزتك قط. ومع ذلك، بالنسبة للمفاتيح المستخدمة في البيئات الإنتاجية، يجب إنشاؤها والتوقيع عليها في بيئة محكمة، وليس داخل المتصفح.
يُعد HS256 خيارًا مناسبًا للنظام الموحّد حيث يتم توقيع البيانات والتحقق منها بواسطة نفس الجهة. أما RS256 أو ES256 فهما الخيار الأفضل عندما تكون الجهة المصدرة منفصلة عن جهة التحقق، إذ يمكن مشاركة المفاتيح العامة دون الكشف عن مفتاح التوقيع.
عادةً ما يستغرق الحصول على رموز الوصول من 5 إلى 15 دقيقة. استخدم رمز تجديد ذي مدة صلاحية أطول لضمان تجربة مستخدم سلسة. لا تُصدر رموز JWT أبدًا دون وجود طلب exp.
يدعم الأداة إصدار الرمز alg: none لإجراء اختبارات متعمدة على الرموز التذكارية التالفة أو غير الموقعة، مع عرض تحذير بارز. لا تقبل أبدًا مثل هذه الرموز في الكود التشغيلي.
أدوات ذات صلة
مشفّر فيجينير
شفّر الرسائل وافكك تشفيرها بشفرة فيجينير الكلاسيكية باستخدام كلمة مفتاحية. تُزيح الأحرف اللاتينية A-Z مع الحفاظ على حالة الأحرف والمسافات وعلامات الترقيم.
مولّد مفاتيح SSH
أنشئ زوج مفاتيح SSH من نوع RSA (2048 أو 3072 أو 4096 بت) بالكامل داخل متصفحك. لا يغادر جهازك أي من المفتاح الخاص أو العام. أضف تعليقًا ونزّل كليهما.
محول Wei إلى Ether
حوّل Wei إلى Ether (ETH) بحساب دقيق دون تقريب الفاصلة العائمة. 1 ETH = 10^18 Wei.
أداة ترميز النصوص
قم بتشفير وفك تشفير الرسائل النصية باستخدام خوارزمية AES مع كلمة مرور، بحيث لا يستطيع سوى المستلم قراءتها.
مولّد طلب توقيع الشهادة (CSR)
أنشئ طلب CSR بصيغة PKCS#10 ومفتاح RSA خاصًا مطابقًا في متصفحك. أضف أسماء DNS أو عناوين IP كأسماء بديلة، ثم نزّل ملفّي PEM.
مولد TOTP
أنشئ كلمات مرور لمرة واحدة مستندة إلى الوقت (RFC 6238) من مفتاح سري بترميز Base32، مع SHA-1 أو SHA-256 أو SHA-512، ومن 6 إلى 8 أرقام، وفترة 30 أو 60 ثانية.
الأداة متاحة بلغات أخرى
- JWT-Generator [DE]
- JWT-generator [NL]
- Generator JWT [PL]
- Generator JWT [ID]
- Bộ tạo JWT [VI]
- Générateur de JWT [FR]
- JWT-generator [SV]
- JWTジェネレーター [JA]
- Gerador de JWT [PT]
- ตัวสร้าง JWT [TH]
- Generador de JWT [ES]
- JWT 생성기 [KO]
- JWT Generator [EN]
- Generatore JWT [IT]
- Генератор JWT [RU]
- JWT Oluşturucu [TR]
- JWT 生成器 [ZH]