حول هذا المولد
يقوم هذا الإعداد المسبق بإنشاء قيمة عالية الإنتروبيا آمنة لـ URL لتوقيع HMAC JWT. إنه سر مطور، وليس كلمة مرور مستخدم، ولا يغادر هذا المتصفح أبدًا.
تبدأ هذه الإعدادات المسبقة بوضع url-safe وتنتج 10 نتيجة مستقلة في كل مرة. تظل جميع الإعدادات المرئية قابلة للتعديل، ولا يتم إرسال القيم المُنشأة إلى PwdGen.
متى يُستخدم
- إنشاء بيانات اعتماد جديدة لحالة الاستخدام هذه
- استبدال كلمة مرور معاد استخدامها أو ضعيفة
- توليد القيم محليًا قبل التخزين الآمن
حجم الأبجدية والإنتروبيا وافتراضات القوة الغاشمة
يتم حساب سقف الإنتروبيا النظري كالتالي: H = L × log2(A)، حيث L هو الطول المُنشأ وA هو عدد الأحرف المسموح بها حاليًا.
| الطول | الأبجدية | فضاء البحث | سقف الإنتروبيا | المتوسط عند 10 مليارات تخمين/ثانية |
|---|---|---|---|---|
| 64 | 64 | 6464 | 384.0 بت | 6.24e97 years |
هام: هذه تقديرات رياضية لقيم عشوائية موحدة. يمكن للمواضع المطلوبة، والأعداد المقيدة، وكلمات المرور المتكررة، والأنماط المعجمية، وبيانات الاعتماد المسربة، وتكاليف تجزئة كلمات المرور الحقيقية أن تغير النتيجة بشكل كبير. الرقم ليس ضمانًا أمنيًا.
إرشادات نشر مفتاح توقيع JWT
بالنسبة لـ HS256، استخدم على الأقل 256 بت من مادة المفتاح العشوائي الموحد. تستخدم HS384 وHS512 أحجام إخراج SHA-2 مختلفة، لكن اختيار خوارزمية أطول لا يصلح التحقق الضعيف أو المفاتيح المسربة أو أخطاء الخلط بين الخوارزميات.
التوليد المكافئ في الطرفية وNode.js
openssl rand -hex 32 import { randomBytes } from 'node:crypto';
const jwtSecret = randomBytes(32).toString('hex'); التخزين والتدوير
- احتفظ بمفاتيح التوقيع خارج Git، وحزم الواجهة الأمامية، وعناوين URL، والتحليلات، وسجلات التطبيق.
- استخدم مدير أسرار، أو Vault، أو KMS، أو متغير بيئة محمي.
- استخدم استراتيجية kid مُتحكم بها عند تدوير المفاتيح.
- اختر RS256 أو ES256 عندما يجب أن يحتفظ المدققون بمفتاح عام فقط.
Hex وBase64 وBase64URL هي ترميزات—وليست تشفيرًا. يأتي الأمان من البايتات العشوائية وكيفية حماية مفتاح التوقيع.
كيفية استخدام النتيجة بأمان
- تحقق من قواعد كلمة المرور الحالية للوجهة
- استخدم نتيجة فريدة وقم بتمكين MFA حيثما أمكن
- قم بتخزين رموز الاسترداد بشكل منفصل عن كلمة المرور
طريقة التوليد والخصوصية
يستخدم الإعداد المسبق Web Crypto API في المتصفح للاختيار العشوائي. إعادة التوليد، وتغيير الإعدادات، والاختيار، والنسخ لا ترسل بيانات الاعتماد المُنشأة إلى PwdGen. كما أن مقدر وقت اختراق كلمة المرور يعمل محليًا وهو تقدير وليس ضمانًا.
مولد سر توقيع JWT FAQ
كم يجب أن يكون طول سر HS256 JWT؟
استخدم على الأقل 256 بت من مادة المفتاح العشوائي المنتظم لـ HS256. تقوم هذه الصفحة بإنشاء قيمة بطول 64 حرفًا من أبجدية Base64URL، مما يوفر مساحة بحث نظرية أكبر عند التوليد المنتظم.
هل يجب تخزين سر JWT في متغير بيئة؟
متغير البيئة أكثر أمانًا من كود المصدر ولكنه قد يتسرب من خلال فحص العملية، السجلات، أو أدوات النشر. يُفضل استخدام مخزن أسرار مُدار أو KMS للأنظمة الإنتاجية.
متى يجب استخدام RS256 أو ES256 بدلاً من HMAC؟
استخدم التوقيع غير المتماثل عندما لا يجب أن يمتلك المدققون مفتاح التوقيع الخاص أو عندما تحتاج خدمات متعددة إلى التحقق من المفتاح العام. احمِ المفتاح الخاص وقم بتدوير المفاتيح باستراتيجية معرف مفتاح مُتحكم بها.