مولّد الرموز العشوائية

أنشئ رموزًا عشوائية آمنة تشفيريًا للجلسات وإعادة تعيين كلمة المرور وCSRF والدعوات. Hex أو Base64url أو Base32 أو أحرف وأرقام؛ 256 بتًّا افتراضيًا.

اختيارية، مثل sk_live_ أو myapp_. تجعل المفاتيح سهلة التمييز وأسهل اكتشافًا إذا تسربت في الكود.

الإخراج

256 بت من الإنتروبيا · 64 حرفًا لكل قيمة

يُولَّد محليًا باستخدام crypto.getRandomValues؛ لا يُرسل أو يُخزن أي شيء. احفظ الأسرار في متغيرات البيئة أو مدير أسرار، ولا تضعها في الكود المصدري أبدًا.

ما هو مولّد الرموز العشوائية؟

ولّد رموزًا عشوائية يصعب تخمينها لروابط إعادة تعيين كلمة المرور والتحقق من البريد ورموز الدعوة وحماية CSRF ومعرّفات الجلسات أو أي سر لمرة واحدة. الافتراضي 32 بايتًا عشوائيًا (256 بتًّا) تُعرض كـ 64 حرفًا ست عشريًا؛ ويمكنك التبديل إلى Base64url الآمن في الروابط أو Base32 أو Base64 أو أحرف وأرقام.

كيفية استخدام مولّد الرموز العشوائية

  1. اختر التنسيق: Hex هو الأكثر شيوعًا، وBase64url أقصر وآمن في الروابط.
  2. حدّد عدد البايتات العشوائية (أو الطول بالأحرف لصيغ الأحرف والأرقام).
  3. اختر العدد من الرموز المراد توليدها واضغط إعادة الإنشاء لمجموعة جديدة.
  4. انسخ الرموز.

مثال

الإدخال
Format Base64url, 32 random bytes, How many 1
الإخراج
81u4aRrBPjZmdbKks_Gh_FDt4AKsSY4FQllDH0mkThk

256 بتًّا و43 حرفًا. عشوائي — سيختلف رمزك.

متى تستخدم مولّد الرموز العشوائية

استخدم هذه الرموز حيثما تمنح حيازة القيمة صلاحية وصول ويجب ألا تكون قابلة للتخمين. وللقيم التي تحتاج بنية أو انتهاء صلاحية بداخلها (مطالبات وتوقيعات) استخدم JWT؛ ولمعرّفات قواعد البيانات التي لا تلزم سريتها فـ UUID أبسط.

كيف يعمل مولّد الرموز العشوائية

تطلب الأداة N بايتًا عشوائيًا من مولّد CSPRNG في المتصفح (crypto.getRandomValues) وترمّزها: يستخدم Hex حرفين لكل بايت، ويستخدم Base64url (RFC 4648 §5) الأحرف A-Z a-z 0-9 - _ دون حشو، ويستخدم Base32 الأحرف A-Z 2-7. ويعرض سطر الإنتروبيا بتّات العشوائية (8 × البايتات) والطول الناتج، ويحذّر إن قلّت عن 128 بتًّا.

حالات الاستخدام الشائعة

  • روابط إعادة تعيين كلمة المرور والتحقق من البريد
  • معرّفات الجلسات ورموز CSRF
  • رموز الدعوة أو التنزيل لمرة واحدة
  • أسرار Webhook ومفاتيح التوقيع المشتركة

ملاحظة أمنية

عامل الرموز كما تعامل كلمات المرور: حدّد لها انتهاء صلاحية، وأبطلها بعد الاستخدام، وخزّن تجزئتها فقط على الخادم متى أمكن.

الأسئلة الشائعة

Hex أم Base64url؟

كلاهما يحمل العشوائية نفسها لعدد البايتات نفسه. Base64url أقصر بنحو الثلث (43 مقابل 64 حرفًا لـ 32 بايتًا) وآمن في الروابط؛ أما Hex فأسهل في القراءة والمقارنة.

كم بايتًا أحتاج؟

16 بايتًا (128 بتًّا) هو الحد الأدنى المعتاد لرموز الأمان؛ و32 بايتًا (256 بتًّا) تترك هامشًا مريحًا.

هل من الآمن توليد الرموز في المتصفح؟

نعم. crypto.getRandomValues مولّد آمن تشفيريًا ولا يُرسَل شيء إلى خادم. أما الرموز التي يصدرها تطبيقك للمستخدمين فولّدها على خادمك بنوع CSPRNG نفسه.

الخطوات التالية المقترحة

استكشف المزيد من الفئات