تخطَّ إلى المحتوى الرئيسي

مولد رقم عشوائي مجانًا

قم بإنشاء أرقام عشوائية في أي نطاق، أو أنشئ قوائم أرقام فريدة، أو قم برمي النرد. يستخدم العشوائية الآمنة للتشفير.

يعمل دون اتصال بعد التحميل

🔒 كل رقم يستخدم عشوائية مشفرة من متصفحك (crypto.getRandomValues) — عادل فعلاً وليس Math.random() القابل للتنبؤ. لا شيء يُرسَل إلى أي مكان. مع ذلك، لا تستخدم هذه الأرقام لتوليد مفاتيح التشفير أو رموز الأمان أو تطبيقات اليانصيب/المقامرة الخاضعة للتنظيم.

تحتاج إلى اختيار فائز بالاسم من قائمة، أو إلى رمي عملة؟ استخدم أداة رمي العملة وعجلة الدوران ومنتقي القوائم ←

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

  • إنشاء أرقام اليانصيباختر أرقام اليانصيب العشوائية لـ Powerball و Mega Millions و EuroMillions والقرعات الأخرى.
  • اختر فائزاً عشوائياً للهدايا المجانيةاختر بشكل عادل فائزاً عشوائياً من قائمة الدخول المرقمة للمسابقات والهدايا المجانية.
  • رمي النرد لألعاب الطاولةرمي أي مجموعة من النرد — d4 و d6 و d8 و d10 و d12 و d20 و d100 — لـ D&D و RPGs على الطاولة.
  • أخذ العينات العشوائية للبحثإنشاء عينات عشوائية وتعيين معرفات عشوائية أو تحديد مجموعة جزئية عشوائية من مجموعة بيانات مرقمة.
  • إنشاء أرقام عشوائية لبيانات الاختبارإنشاء قوائم كبيرة من الأرقام العشوائية لاختبار الخوارزميات وملء قواعد البيانات والضغط على النظام.

كيف يعمل

كل رقم تولّده هذه الأداة يأتي من crypto.getRandomValues — مصدر العشوائية الآمن تشفيريًا في المتصفح، وهو نفسه المستخدم لتوليد مفاتيح TLS. وفوقه خوارزمية أخذ عيّنات بالرفض مكتوبة يدويًا لإزالة انحياز باقي القسمة الذي يصيب تنفيذات Math.random() % range البسيطة، بما في ذلك النطاقات الأوسع من 2^32 عبر حساب BigInt.

  1. 1
    اضبط النطاق والوضع
    اختر بين رقم واحد، أو قائمة دفعة (حتى 1000)، أو نرد متعدد الأوجه (من d4 إلى d100). وللقوائم يمكنك أيضًا اشتراط قيم فريدة وترتيب الإخراج تصاعديًا اختياريًا.
  2. 2
    crypto.getRandomValues تسحب الإنتروبيا الخام
    يُسحب كل رقم من Uint32Array (أو BigUint64Array للنطاقات الأوسع من 2^32) يملؤه مولّد الأرقام العشوائية التشفيري في المتصفح — لا Math.random(). ثم يستبعد أخذ العيّنات بالرفض القيم التي قد تحرف التوزيع، فيكون لكل عدد صحيح في نطاقك احتمال متساوٍ تمامًا.
  3. 3
    وضع القيم الفريدة يستخدم Fisher-Yates أو تتبع الرفض
    عند تفعيل الوضع الفريد وكون النطاق يتسع في الذاكرة (حتى 100,000 قيمة)، تُنشئ الأداة المجموعة الكاملة وتخلطها بـ Fisher-Yates. وللنطاقات الكبيرة جدًا تسحب القيم واحدة تلو الأخرى متخطية التكرارات — متجنبة تكلفة الذاكرة لبناء مصفوفة بمليارات الإدخالات.
  4. 4
    تصل النتائج مع تأثير متحرك وتبقى في سجل الجلسة
    تتحرك القيم النهائية إلى مكانها (دوران آلة قمار للأرقام، ونرد متدحرج لوضع النرد) باستخدام requestAnimationFrame، ثم تظهر في سجل قابل للتمرير يمكنك نسخه في أي وقت. لا شيء يغادر متصفحك.

أدوات ذات صلة

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