إعدادات مفتاح JWT السري
بايتات عشوائية آمنة تشفيرياً يتم توليدها عبر CSPRNG في متصفحك مباشرة
إعدادات مفتاح JWT السري
بايتات عشوائية آمنة تشفيرياً يتم توليدها عبر CSPRNG في متصفحك مباشرة
No secret generated yet
انقر أدناه لتوليد مفتاح آمن تشفيرياً في متصفحك مباشرة.
Integration Code Snippets
# .env configuration (Never commit this to version control)
JWT_SECRET="YOUR_GENERATED_SECRET_HERE"
JWT_EXPIRES_IN="15m"
JWT_ALGORITHM="HS256"كيفية توليد مفتاح سري آمن تشفيرياً لرموز JWT
1. اختر خوارزمية التوقيع الرقمي
اختر بين HS256 (HMAC-SHA256) أو HS384 أو HS512 بناءً على معايير الأمان ومتطلبات إطار عمل الواجهة البرمجية.
2. حدد طول المفتاح بالبت والبايت
يفرض معيار RFC 7518 أن يكون المفتاح مساوياً أو أكبر من حجم ناتج التجزئة (≥ 256 بت لـ HS256 و ≥ 384 بت لـ HS384 و ≥ 512 بت لـ HS512).
3. اختر ترميز المخرجات المناسب
اختر الست عشري Hex (الموصى به للبايتات الخام) أو Base64 القياسي أو Base64URL المتوافق مع عناوين URL.
4. انسخ المفتاح وضعه في متغيرات البيئة
انقر على زر النسخ وضعه مباشرة في ملف .env (مثل JWT_SECRET) في خادمك. تجنب تماماً تضمين المفاتيح في مستودعات Git.
المعمارية التشفيرية ومعيار RFC 7518 الدولي
تفرض مواصفة خوارزميات الويب (RFC 7518 القسم 3.2) أن تكون مفاتيح خوارزميات HMAC بحجم يساوي أو يتجاوز ناتج تجزئة دالة SHA-2 المقابلة. إذا كان المفتاح السري قصيراً أو يفتقر إلى الإنتروبيا الحقيقية، يمكن للمهاجم الذي يعترض رمز JWT تنفيذ هجمات القوة الغاشمة باستخدام معالجات الرسوميات دون علم الخادم.
| المعيار / المتطلب التشفيري | المعيار المعتمد والقيمة |
|---|---|
| الحد الأدنى لحجم مفتاح HS256 | 256 بت (32 بايت / 64 حرفاً ست عشرياً) |
| الحد الأدنى لحجم مفتاح HS384 | 384 بت (48 بايت / 96 حرفاً ست عشرياً) |
| الحد الأدنى لحجم مفتاح HS512 | 512 بت (64 بايت / 128 حرفاً ست عشرياً) |
| مصدر الإنتروبيا العشوائية | عتاد CSPRNG الرسمي (window.crypto.getRandomValues) |
حدود الأمان وأفضل الممارسات في بيئات الإنتاج
يتم توليد جميع المفاتيح التشفيرية في متصفحك محلياً بالكامل عبر إنتروبيا عتاد نظام التشغيل. لا يتم إرسال أي مفتاح عبر الشبكة ولا يتم تخزينه في أي خادم خارجي. احرص على تدوير المفاتيح دورياً واستخدام أنظمة إدارة الأسرار المعتمدة مثل AWS Secrets Manager أو HashiCorp Vault.
الأسئلة الشائعة: توليد مفاتيح JWT السرية
لماذا ينتج عن 256 بت 64 حرفاً في النظام الست عشري؟
256 بت تعادل 32 بايت (256 ÷ 8 = 32). في النظام الست عشري، يتم تمثيل كل بايت بحرفين تماماً (من 00 إلى ff). لذلك، تنتج 32 بايت 64 حرفاً ست عشرياً.
هل مفتاح 128 بت آمن لتطبيقات الإنتاج؟
لا. تنص مواصفة RFC 7518 صراحة على ضرورة استخدام 256 بت كحد أدنى لخوارزمية HS256. يمكن لمزارع معالجات الرسوميات الحديثة كسر مفاتيح 128 بت في وقت قياسي.
كيف تضمن هذه الأداة توليد عشوائية تشفيرية حقيقية؟
تستدعي الأداة دالة window.crypto.getRandomValues() التي تعتمد على مولد الإنتروبيا التابع لنواة نظام التشغيل، ولا تعتمد إطلاقاً على دالة Math.random() الضعيفة.
ما هو الفرق بين ترميز Hex وترميز Base64؟
كلاهما تمثيل لنفس البايتات العشوائية الأصلية؛ الست عشري يستخدم 16 رمزاً ويأخذ 64 حرفاً لـ 32 بايت، بينما Base64 يستخدم 64 رمزاً ويأخذ 44 حرفاً فقط.