Негізгі мазмұнға өту

Кездейсоқ сан генераторы — тегін

Кез келген ауқымда кездейсоқ сандар жасаңыз, бірегей сандар тізімін жасаңыз немесе зар лақтырыңыз. Криптографиялық тұрғыдан қауіпсіз кездейсоқтықты пайдаланады.

Жүктелгеннен кейін офлайн жұмыс істейді

🔒 Әрбір сан браузердің криптографиялық қауіпсіз кездейсоқтығын (crypto.getRandomValues) пайдаланады — болжамды Math.random()-ға қарағанда шынымен әділ. Ештеңе ешқайда жіберілмейді. Дегенмен, бұл сандарды криптографиялық кілт генерациясы, қауіпсіздік таңбалауыштары немесе тексерілген аппараттық сертификатталған кездейсоқтық көздерін талап ететін реттелген лотерея/ойын қосымшалары үшін пайдаланбаңыз.

Тізімнен атау бойынша жеңімпазды таңдау немесе тиын лақтыру керек пе? Тиын лақтыру, Дөңгелек айналдыру және Тізімнен таңдау құралын қолданыңыз →

Жиі қолданылуы

  • Лотерея нөміршелерін жасаңызPowerball, Mega Millions, EuroMillions және басқа тарату үшін кездейсоқ лотерея нөміршелерін таңдаңыз.
  • Сыйлықтар үшін кездейсоқ жеңімпазды таңдаңызКонкурс және сыйлықтар үшін нөмірленген кірге тізімінен әділ түрде кездейсоқ жеңімпазды таңдаңыз.
  • Төлінген ойындар үшін өлшемді орамасын ауыстарындағыD&D және төлінген ойындар үшін өлшемдің кез келген комбинациясын атып салыңыз - d4, d6, d8, d10, d12, d20, d100.
  • Зерттеу үшін кездейсоқ іріктемеКездейсоқ үлгілер жасаңыз, кездейсоқ ID тағайындаңыз немесе нөмірленген мәліметтер жиынтығынан кездейсоқ ішкі жиынтықты таңдаңыз.
  • Сынау мәліметтерінің кездейсоқ нөміршелерін жасаңызАлгоритмдерді сынау, мәліметтер базасын толтыру және жүйелерді стресс-сынау үшін көлемді кездейсоқ нөмір тізімдерін жасаңыз.

Қалай жұмыс істейді

Бұл құрал жасайтын әрбір сан crypto.getRandomValues-тен келеді — браузердің криптографиялық қауіпсіз кездейсоқ көзі, TLS кілт жасау үшін пайдаланылатын дәл сол көз. Жай Math.random() % ауқым жүзеге асыруларын мазалайтын модуль бұрмалауын жою үшін, BigInt арифметикасы арқылы 2^32-ден кеңірек ауқымдарды қоса, қолмен жазылған қабылдамау-іріктеу алгоритмі үстінде орналасады.

  1. 1
    Ауқымыңыз бен режимді орнатыңыз
    Жалғыз сан, топтық тізім (1000-ге дейін) немесе көпжақты сүйектер (d4-тен d100-ге дейін) арасынан таңдаңыз. Тізімдер үшін бірегей мәндерді талап ете аласыз және қалау бойынша шығысты өсу ретімен сұрыптай аласыз.
  2. 2
    crypto.getRandomValues шикі энтропияны тартады
    Әр сан браузердің криптографиялық RNG-мен толтырылған Uint32Array-дан (немесе 2^32-ден кеңірек ауқымдар үшін BigUint64Array) алынады — Math.random() емес. Қабылдамау іріктеу содан кейін таралуды бұрмалайтын мәндерді тастайды, сондықтан ауқымыңыздағы әр бүтін санда дәл тең ықтималдық бар.
  3. 3
    Бірегей-мән режимі Fisher-Yates немесе қабылдамауды қадағалауды пайдаланады
    Бірегей режим қосулы болғанда және ауқым жадқа сыятын болса (100,000 мәнге дейін), құрал толық пулды материалдандырады және оны Fisher-Yates арқылы араластырады. Өте үлкен ауқымдар үшін ол оның орнына мәндерді бір-бірден тартады, қайталанғандарды өткізіп жібереді — миллиардтаған-жазбалы массив құрудың жады шығынын болдырмайды.
  4. 4
    Нәтижелер анимацияланған кері байланыспен түседі және сессия тарихында қалады
    Соңғы мәндер requestAnimationFrame пайдаланып орнына анимацияланады (сандар үшін ойын автоматы айналдыруы, сүйек режимі үшін домалаған сүйектер), содан кейін кез келген уақытта көшіре алатын айналдырылатын тарих журналында пайда болады. Ешнәрсе браузеріңізден шықпайды.

Байланысты құралдар

Жиі қойылатын сұрақтар