كيف تُولَّد مفاتيح API والأسرار وتُدار؟
قوة السر بقدر عشوائيته: ينبغي أن تأتي المفاتيح والرموز من مولّد آمن تشفيرياً بإنتروبيا لا تقل عن 128 بتاً (256 لمفاتيح HMAC)، لا من كلمة مرور أو طابع زمني. ينبغي أن تكون مفاتيح RSA بطول 2048 بت أو أكثر، محفوظة في ملفات PEM بأذونات مقيدة. مكان الأسرار خزنة أو إعدادات البيئة، مع تدويرها وفق جدول، وليس أبداً في الشيفرة أو السجلات أو عناوين URL.
ملاحظة أمنية: كل ما يُولَّد هنا يبقى خاصاً بقدر المكان الذي تلصقه فيه لاحقاً. ولّد المفاتيح محلياً، واحفظها في مدير أسرار، ودوّر أي مفتاح سبق أن أُودع في مستودع أو شورك في محادثة.
كيفية استخدام مولّد الأسرار العشوائية
- اختر عدد البايتات العشوائية (32 لأسرار JWT/الجلسات).
- اختر الصيغة وعدد الأسرار التي تحتاجها.
- أدخل اختيارياً اسم متغيّر لإخراج .env.
- انقر «توليد»، ثم انسخ الناتج إلى مخزن الأسرار لديك.
مزايا مولّد الأسرار العشوائية
- crypto.getRandomValues — عشوائية آمنة تشفيرياً
- صيغ سداسية عشرية وBase64 وBase64url وBase32 وأبجدية رقمية وASCII قابل للطباعة
- اختر الإنتروبيا بالبايتات (8–1024)؛ وولّد حتى 100 سرّ دفعة واحدة
- إخراج بأسلوب ملفات .env (بصيغة NAME=value)
- ينبّه عندما تكون الإنتروبيا أقل من 128 بتاً
مثال على مولّد الأسرار العشوائية
سرّ Base64url بطول 32 بايتاً للمتغيّر JWT_SECRET
الإدخال:
Bytes: 32 · Format: base64url · Variable: JWT_SECRETالنتيجة:
JWT_SECRET=tUSHdvHM79Cpnv67LfUnANNIJ4nhrH6bKsv59X6k1Ukالأسئلة الشائعة حول مولّد الأسرار العشوائية
كم بايتاً ينبغي أن يكون سرّ JWT HS256؟
32 بايتاً على الأقل (256 بتاً). يحتاج HS384 إلى 48 وHS512 إلى 64 بايتاً. والأطول مقبول؛ والقيمة الافتراضية في الأداة 32.
أي صيغة ينبغي أن أختار؟
الصيغة السداسية العشرية هي الأكثر أماناً للّصق في أي مكان. Base64 أقصر. Base64url آمنة في عناوين URL ومفاتيح JWT. استخدم «أبجدية رقمية» أو «ASCII قابل للطباعة» عندما يمنع نظام ما أحرفاً معيّنة — ويُعدَّل الطول للحفاظ على الإنتروبيا المطلوبة.
هل العشوائية آمنة فعلاً؟
نعم. تأتي القيم من crypto.getRandomValues، مولّد المتصفح الآمن تشفيرياً المدعوم من نظام التشغيل — وهو المصدر نفسه الذي يستخدمه WebCrypto لتوليد المفاتيح.
هل يرى أي شخص آخر السر؟
لا. يُولَّد في متصفحك ولا يُنقل أو يُخزَّن أبداً. أعد تحميل الصفحة أو انقر «إعادة التوليد» للحصول على سرّ جديد.
ملاحظات تقنية
يأتي كل بايت مباشرة من مولّد الأرقام العشوائية الآمن تشفيرياً (CSPRNG) في المتصفح. وللأبجديات التي لا يكون حجمها قوة للعدد 2 (الأبجدية الرقمية وASCII)، تختار الأداة الأحرف بفهارس عشوائية غير منحازة وتزيد الطول بحيث يحمل الناتج على الأقل عدد البتات المطلوب.
المراجع
- RFC 4086: Randomness Requirements for Securityلماذا تحتاج الأسرار والمفاتيح والرموز إلى عشوائية قوية تشفيرياً وما مقدار الإنتروبيا الكافي.
- NIST SP 800-57 Part 1 Rev. 5: Recommendation for Key Managementأحجام المفاتيح وقوة الخوارزميات وأعمار المفاتيح — لماذا RSA بطول 2048 بت والمفاتيح المتماثلة بطول 256 بت هي الحد الأدنى اليوم.
- OWASP Cheat Sheet Series: Secrets Managementكيف تُولَّد مفاتيح API والأسرار وتُخزَّن وتُدوَّر وتُبقى بعيدة عن الشيفرة والسجلات.