Pāriet uz galveno saturu

Nejaušu skaitļu ģenerētājs bez maksas

Ģenerē nejaušus skaitļus jebkurā diapazonā, veido unikālus skaitļu sarakstus vai metiet kauliņus. Izmanto kriptogrāfiski drošu nejaušību.

Darbojas bezsaistē pēc ielādes

🔒 Katrs skaitlis izmanto jūsu pārlūkprogrammas kriptogrāfiski drošo nejaušību (crypto.getRandomValues) — patiesi godīgs, nevis paredzamais Math.random(). Nekas netiek nekur sūtīts. Pat tā, nelietojiet šos skaitļus kriptogrāfisko atslēgu ģenerēšanai, drošības tokenam vai regulētām loteriju/azartspēļu lietotnēm, kurām nepieciešami sertificēti aparatūras nejaušuma avoti.

Vajag izvēlēties uzvarētāju pēc vārda no saraksta vai mest monētu? Izmantojiet rīku Monētas metiens, Laimes rats un Saraksta izvēle →

Biežākie lietojumi

  • Ģenerējiet loterijas numurusAtlasiet nejaušus loterijas numurus Powerball, Mega Millions, EuroMillions un citiem zīmējumiem.
  • Atlasiet nejaušu uzvarētāju dāvanāmGodīgi atlasiet nejaušu uzvarētāju no numurēta ierakstu saraksta konkursiem un dāvanām.
  • Metiet kauliņus galda spēlēmMetiet jebkuru kauliņu kombināciju — d4, d6, d8, d10, d12, d20, d100 — D&D un galda RPG.
  • Nejaušā paraugu ņemšana pētījumiemĢenerējiet nejaušus paraugus, piešķiriet nejaušus ID vai atlasiet nejaušu apakškopu no numurēta datu kopas.
  • Ģenerējiet nejaušus skaitļus testa datiemIzveidojiet lielus nejaušu skaitļu sarakstus algoritmu testēšanai, datu bāzu piepildei un sistēmas slodzes testēšanai.

Kā tas darbojas

Katrs skaitlis, ko šis rīks ģenerē, nāk no crypto.getRandomValues — pārlūkprogrammas kriptogrāfiski droša nejaušības avota, tā paša, ko izmanto TLS atslēgas ģenerēšanai. Pašrakstīts noraidīšanas-paraugošanas algoritms atrodas virsū, lai novērstu moduļa novirzi, kas apgrūtina vienkāršas Math.random() % diapazons īstenošanas, ieskaitot diapazonus, kas platāki par 2^32, izmantojot BigInt aritmētiku.

  1. 1
    Iestatiet savu diapazonu un režīmu
    Izvēlieties starp vienu skaitli, partijas sarakstu (līdz 1000) vai daudzstūra kauliņiem (d4 līdz d100). Sarakstiem varat arī pieprasīt unikālas vērtības un neobligāti kārtot izvadi augošā secībā.
  2. 2
    crypto.getRandomValues izvelk neapstrādātu entropiju
    Katrs skaitlis tiek izvilkts no Uint32Array (vai BigUint64Array diapazoniem, kas platāki par 2^32), ko aizpilda pārlūkprogrammas kriptogrāfiskais RNG — nevis Math.random(). Noraidīšanas paraugošana tad atmet vērtības, kas sagrozītu sadalījumu, tāpēc katram veselajam skaitlim jūsu diapazonā ir tieši vienāda varbūtība.
  3. 3
    Unikālu-vērtību režīms izmanto Fisher-Yates vai noraidīšanas izsekošanu
    Kad unikālais režīms ir ieslēgts un diapazons iekļaujas atmiņā (līdz 100 000 vērtībām), rīks materializē pilnu kopu un sajauc to ar Fisher-Yates. Ļoti lieliem diapazoniem tas tā vietā izvelk vērtības pa vienai, izlaižot atkārtojumus — izvairoties no atmiņas izmaksām, veidojot miljardu-ierakstu masīvu.
  4. 4
    Rezultāti nolaižas ar animētu atgriezenisko saiti un paliek sesijas vēsturē
    Galīgās vērtības animē vietā (spēļu automāta ripa skaitļiem, ripojoši kauliņi kauliņu režīmam), izmantojot requestAnimationFrame, tad parādās ritināmā vēstures žurnālā, ko varat kopēt jebkurā laikā. Nekas neatstāj jūsu pārlūkprogrammu.

Saistītie rīki

Bieži uzdotie jautājumi