Liigu põhisisu juurde

Juhusliku numbri generaator tasuta

Loo juhuslikke numbreid mis tahes vahemikus, loo unikaalseid numbriloendeid või veereta täringuid. Kasutab krüptograafiliselt turvalist juhuslikku.

Töötab võrguühenduseta pärast laadimist

🔒 Iga arv kasutab teie brauseri krüptograafiliselt turvalist juhuslikkust (crypto.getRandomValues) — tõeliselt erapooletu, mitte ennustatav Math.random(). Midagi ei saadeta kuhugi. Sellegipoolest ärge kasutage neid arve krüptograafiliste võtmete genereerimiseks, turbeembleemideks ega reguleeritud loterii-/hasartmängurakenduste jaoks, mis nõuavad auditeeritud riistvara juhuslikkuse allikaid.

Pead nimekirjast nime järgi võitja välja valima või münti viskama? Kasuta tööriista Mündivise, loosiratas ja nimekirjavalija →

Levinud kasutusviisid

  • Looge loterii numbridValige juhuslikud loterii numbrid Powerball'ile, Mega Millions'ile, EuroMillions'ile ja muudele loosimistele.
  • Valige juhuslik võitja annetamiste jaoksValige õiglaselt juhuslik võitja nummerdatud kannete loenditest võistluste ja annetamiste jaoks.
  • Viskake täringuid laudamängudeksViskake iga täringute kombinatsiooni — d4, d6, d8, d10, d12, d20, d100 — D&D ja laudamängude RPG-deks.
  • Juhusliku valimid uuringuteksLooge juhuslikud valimid, määrake juhuslikud ID-d või valige juhuslik alamhulk numbrist andmestikust.
  • Looge juhuslikud numbrid testandmete jaoksLooge suured juhuslike numbrite loendid algoritmide testimiseks, andmebaaside täitmiseks ja süsteemi koormuse testimiseks.

Kuidas see töötab

Iga number, mida see tööriist genereerib, tuleb crypto.getRandomValues'ist — brauseri krüptograafiliselt turvalisest juhuallikast, samast, mida kasutatakse TLS-võtmete genereerimiseks. Käsitsi kirjutatud tagasilükkamisvalimi algoritm on selle peal, et elimineerida moodulikallutus, mis vaevab lihtsaid Math.random() % vahemik implementatsioone, sealhulgas vahemikke, mis on laiemad kui 2^32, BigInt aritmeetika abil.

  1. 1
    Sea oma vahemik ja režiim
    Vali üksiku numbri, lote-loendi (kuni 1000) või hulktahukaste täringute (d4 kuni d100) vahel. Loendite jaoks saad ka nõuda unikaalseid väärtusi ja valikuliselt sortida väljundi kasvavasse järjekorda.
  2. 2
    crypto.getRandomValues tõmbab toorest entroopiat
    Iga number tõmmatakse Uint32Array'st (või BigUint64Array'st vahemike jaoks, mis on laiemad kui 2^32), mis on täidetud brauseri krüptograafilise RNG-ga — mitte Math.random(). Tagasilükkamisvalim seejärel viskab ära väärtused, mis kallutaksid jaotust, nii et igal täisarvul su vahemikus on täpselt võrdne tõenäosus.
  3. 3
    Unikaalse-väärtuse režiim kasutab Fisher-Yates'i või tagasilükkamise jälgimist
    Kui unikaalne režiim on sees ja vahemik mahub mällu (kuni 100 000 väärtust), materialiseerib tööriist kogu komplekti ja segab selle Fisher-Yates'iga. Väga suurte vahemike jaoks tõmbab see selle asemel väärtusi ükshaaval, jättes vahele kordused — vältides miljarditest kirjetest koosneva massiivi konstrueerimise mälukulu.
  4. 4
    Tulemused ilmuvad animeeritud tagasisidega ja jäävad sessiooniajalukku
    Lõplikud väärtused animeeritakse kohale (tragamati-stiilis veeremine numbrite jaoks, veerevad täringud täringurežiimis) requestAnimationFrame abil, ilmudes seejärel kerivas ajalookirjas, mida saad igal ajal kopeerida. Midagi ei lahku su brauserist.

Seotud tööriistad

Korduma kippuvad küsimused