مولّد المفاتيح السرية
ولّد مفاتيح سرية لتوقيع JWT وتشفير AES وLaravel وRails وDjango وملفات تعريف الجلسات بطول وترميز صحيحين وعشوائية آمنة تشفيريًا داخل متصفحك.
256 بت من الإنتروبيا · 43 حرفًا لكل قيمة
يُولَّد محليًا باستخدام crypto.getRandomValues؛ لا يُرسل أو يُخزن أي شيء. احفظ الأسرار في متغيرات البيئة أو مدير أسرار، ولا تضعها في الكود المصدري أبدًا.
ما هو مولّد المفاتيح السرية؟
تحتاج الأطر والمكتبات إلى مفاتيح سرية عشوائية بصيغة محددة: سلسلة Base64url من 256 بتًّا لـ JWT HS256، و32 بايتًا ست عشرية لـ AES-256، وbase64: + 32 بايتًا لـ APP_KEY في Laravel، و128 حرفًا ست عشريًا لـ secret_key_base في Rails، و50 حرفًا لـ SECRET_KEY في Django. اختر الغرض فتولّد الأداة مفتاحًا بالطول والترميز الصحيحين، أو خصّص الصيغة بنفسك.
كيفية استخدام مولّد المفاتيح السرية
- اختر الغرض مثل JWT HS256 secret أو Laravel APP_KEY.
- عدّل التنسيق وعدد البايتات العشوائية / الطول عند الحاجة (فيتحول إلى مخصص).
- اضغط إعادة الإنشاء حتى تحصل على المفتاح، ثم انسخه إلى متغيرات البيئة.
مثال
Purpose: JWT HS256 secret (256 bits, Base64url)
-IXerdjEBBrFmWvMzQ0izB3-w1aweuEukH9SlJBWmwE
256 بتًّا من الإنتروبيا. عشوائي — سيختلف مفتاحك.
متى تستخدم مولّد المفاتيح السرية
استخدمه عند إعداد بيئة جديدة، أو تدوير مفتاح تسرّب، أو ضبط توقيع JWT. وللتوقيع غير المتماثل (RS256 وES256) تحتاج زوج مفاتيح وليس سرًا مشتركًا. لا تودع المفاتيح في Git أبدًا؛ ضعها في متغيرات البيئة أو مدير أسرار.
كيف يعمل مولّد المفاتيح السرية
تأتي كل المفاتيح من crypto.getRandomValues. تسحب الإعدادات المسبقة القائمة على البايتات العدد الدقيق من البايتات الذي تحتاجه الخوارزمية (16 لـ AES-128، و32 لـ AES-256 وHS256، و64 لـ HS512 وRails) وترمّزها Hex أو Base64 أو Base64url. ومفتاح Django من 50 حرفًا تُختار بانتظام من الأحرف والأرقام (نحو 298 بتًّا). ويعرض سطر الإنتروبيا القوة بالبت ويحذّر إن قلّت عن 128 بتًّا.
حالات الاستخدام الشائعة
- ضبط APP_KEY لنشر Laravel جديد
- إنشاء سر توقيع JWT HS256
- توليد مفتاح AES-256 لتشفير البيانات المخزّنة
- تدوير أسرار Django أو Rails بعد تسرّب
ملاحظة أمنية
يُولَّد محليًا ولا يُرسَل إلى أي مكان. يستطيع أي شخص يملك المفتاح تزوير الرموز أو فك تشفير البيانات، لذا خزّنه في متغيرات البيئة أو مدير أسرار فقط.
الأسئلة الشائعة
ما الطول المناسب لسر JWT HS256؟
256 بتًّا على الأقل (32 بايتًا)، وهو حجم ناتج SHA-256، كما يوصي RFC 7518. ويجب أن يستخدم HS512 مفتاحًا من 512 بتًّا.
هل هذا مثل تشغيل php artisan key:generate؟
نعم من حيث الصيغة: ينشئ أمر Laravel أيضًا 32 بايتًا عشوائيًا ويرمّزها Base64 ويضيف البادئة base64:.
ماذا يحدث إذا غيّرت مفتاح تطبيق قيد التشغيل؟
تصبح الجلسات الحالية وملفات تعريف الارتباط الموقَّعة والرموز وكل ما شُفِّر بالمفتاح القديم غير صالح أو غير مقروء. خطّط للتدوير بعناية.