Pređi na glavni sadržaj
LibraTool logoLibraTool

Generator nasumičnih brojeva — besplatno

Generišite nasumične brojeve u bilo kom opsegu, kreirajte jedinstvene liste brojeva ili bacajte kockice. Koristi kriptografski sigurnu nasumičnost.

Radi van mreže kada se učita

🔒 Svaki broj koristi kriptografski sigurnu slučajnost vašeg pretraživača (crypto.getRandomValues) — zaista pošteno, a ne predvidljiv Math.random(). Ništa se ne šalje. Bez obzira na to, nemojte ove brojeve koristiti za generisanje kriptografskih ključeva, bezbednosnih tokena niti regulisanih lutrijskih/kockarskih aplikacija.

Treba vam da izaberete pobednika po imenu sa spiska ili da bacite novčić? Koristite alat Bacanje novčića, Točak i Izbor sa spiska →

Uobičajene upotrebe

  • Generišite loterijske brojeveIzaberite slučajne loterijske brojeve za Powerball, Mega Millions, EuroMillions i druge izvlačenja.
  • Izaberite nasumičnog dobitnika za poklaćePošteno izaberite nasumičnog dobitnika iz numerisane liste unosa za takmičenja i poklaće.
  • Bacajte kocke za igre za stolomBacajte bilo koju kombinaciju kocki — d4, d6, d8, d10, d12, d20, d100 — za D&D i video igre sa stolom.
  • Nasumično uzimanje uzoraka za istraživanjeGenerišite nasumične uzorke, dodefite nasumične ID-ove ili izaberite nasumični podskup iz numerizovanog skupa podataka.
  • Generišite nasumične brojeve za testne podatkeNapravite velike liste nasumičnih brojeva za testiranje algoritama, popunjavanje baza i stresno testiranje sistema.

Kako funkcioniše

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

  1. 1
    Podesite svoj opseg i režim
    Izaberite između jednog broja, grupne liste (do 1000), ili poliedarskih kockica (d4 do d100). Za liste možete takođe zahtevati jedinstvene vrednosti i opciono sortirati izlaz rastuće.
  2. 2
    crypto.getRandomValues izvlači sirovu entropiju
    Svaki broj se izvlači iz Uint32Array (ili BigUint64Array za opsege šire od 2^32) popunjenog kriptografskim RNG-om pregledača — ne Math.random(). Odbijajuće uzorkovanje zatim odbacuje vrednosti koje bi iskrivile raspodelu, tako da svaki ceo broj u vašem opsegu ima tačno jednaku verovatnoću.
  3. 3
    Režim jedinstvenih vrednosti koristi Fisher-Yates ili praćenje odbijanja
    Kada je uključen režim jedinstvenih vrednosti i opseg stane u memoriju (do 100.000 vrednosti), alatka materijalizuje ceo skup i meša ga sa Fisher-Yates. Za veoma velike opsege umesto toga izvlači vrednosti jednu po jednu, preskačući ponavljanja — izbegavajući trošak memorije za konstruisanje niza sa milijardama unosa.
  4. 4
    Rezultati sleću uz animiranu povratnu informaciju i ostaju u istoriji sesije
    Konačne vrednosti se animiraju na mesto (obrtanje automata za igru za brojeve, kotrljajuće kockice za režim kockica) koristeći requestAnimationFrame, zatim se pojavljuju u dnevniku istorije koji se može skrolovati i koji možete kopirati bilo kada. Ništa ne napušta vaš pregledač.

Slične alatke

Česta pitanja