Besplatan Generator nasumičnih brojeva

Generišite nasumične brojeve u bilo kojem rasponu, kreirajte liste jedinstvenih brojeva ili bacajte kockice. Koristi kriptografski sigurnu nasumičnost.

Radi offline nakon učitavanja

🔒 Svaki broj koristi kriptografski sigurnu nasumičnost vašeg preglednika (crypto.getRandomValues) — istinski pravedno, ne predvidivi Math.random(). Ništa se ne šalje nikuda. Ipak, ne koristite ove brojeve za generisanje kriptografskih ključeva, sigurnosnih tokena ili regulisanih lutrija/kockanja, koje zahtijevaju provjerene, hardverski certificirane izvore nasumičnosti.

Trebate izabrati pobjednika po imenu s liste ili baciti novčić? Koristite alat Bacanje novčića, Točak sreće i Biranje s liste →

Kako radi

Svaki broj koji ovaj alat generiše dolazi iz crypto.getRandomValues — kriptografski sigurnog izvora slučajnosti preglednika, istog koji se koristi za generisanje TLS ključeva. Ručno napisan algoritam odbijajućeg uzorkovanja se nalazi na vrhu da eliminiše pristrasnost modulo koja muči jednostavne implementacije Math.random() % raspon, uključujući raspone šire od 2^32 putem BigInt aritmetike.

  1. 1
    Postavite svoj raspon i mod
    Odaberite između jednog broja, grupne liste (do 1000), ili poliedarskih kockica (d4 do d100). Za liste takođe možete zahtijevati jedinstvene vrijednosti i opciono sortirati izlaz rastuće.
  2. 2
    crypto.getRandomValues izvlači sirovu entropiju
    Svaki broj se izvlači iz Uint32Array (ili BigUint64Array za raspone šire od 2^32) popunjenog kriptografskim RNG-om preglednika — ne Math.random(). Odbijajuće uzorkovanje zatim odbacuje vrijednosti koje bi iskrivile distribuciju, tako da svaki cijeli broj u vašem rasponu ima tačno jednaku vjerovatnoću.
  3. 3
    Mod jedinstvenih vrijednosti koristi Fisher-Yates ili praćenje odbijanja
    Kada je mod jedinstvenosti uključen i raspon stane u memoriju (do 100.000 vrijednosti), alat materijalizuje cijeli skup i miješa ga Fisher-Yates metodom. Za vrlo velike raspone umjesto toga izvlači vrijednosti jednu po jednu, preskačući ponavljanja — izbjegavajući trošak memorije za konstruisanje niza od milijardu unosa.
  4. 4
    Rezultati se pojavljuju sa animiranom povratnom informacijom i ostaju u historiji sesije
    Konačne vrijednosti se animiraju na mjesto (okretanje slot-mašine za brojeve, prevrtanje kockica za mod kockica) koristeći requestAnimationFrame, zatim se pojavljuju u dnevniku historije koji se može pomicati i koji možete kopirati u bilo kojem trenutku. Ništa ne napušta vaš preglednik.

Povezani alati

Često postavljana pitanja