Siirry pääsisältöön

Satunnaislukugeneraattori ilmaiseksi

Luo satunnaislukuja millä tahansa alueella, luo yksilöllisiä lukuja listoja tai heitä noppia. Käyttää kryptografisesti turvallista satunnaisuutta.

Toimii offline-tilassa kerran ladattuna

🔒 Jokainen luku käyttää selaimen kryptografisesti turvattua satunnaisuutta (crypto.getRandomValues) — aidosti reilu, ei ennustettava Math.random(). Mitään ei lähetetä minnekään. Älä silti käytä näitä lukuja kryptografisten avainten generointiin, suojaustokeneille tai säänneltyihin lotteria-/uhkapelisovelluksiin, jotka vaativat auditoituja, laitteistovarmennetut satunnaisuuslähteitä.

Haluatko arpoa voittajan nimen perusteella listasta tai heittää kolikkoa? Käytä Kolikonheitto-, Arpapyörä- ja Listavalitsin-työkalua →

Yleiset käyttötavat

  • Luo ArpalottoluvutValitse satunnaisia arpalottolukuja Powerballille, Mega Millionsille, EuroMillionsille ja muille arpajaisille.
  • Valitse Satunnainen Voittaja LahjoituksilleValitse oikeudenmukaisesti satunnainen voittaja numeroitujen merkintöjen luettelosta kilpailuihin ja lahjoituksiin.
  • Heita Noppia LautapeleilleHeita mitä tahansa nopan yhdistelmää - d4, d6, d8, d10, d12, d20, d100 - D&D:lle ja pöytärooleille.
  • Satunnainen Näytteenotto Tutkimusta VartenLuo satunnaisia näytteitä, määritä satunnaisia ID:itä tai valitse satunnainen osajoukko numeroitusta tietojoukosta.
  • Luo Satunnaisia Lukuja Testidataa VartenLuo suuria luetteloita satunnaisluvuista algoritmien testaukseen, tietokantojen täyttöön ja järjestelmien stressitestaukseen.

Miten se toimii

Jokainen tämän työkalun tuottama luku tulee crypto.getRandomValues-funktiosta — selaimen kryptografisesti turvallisesta satunnaislähteestä, samasta, jota käytetään TLS-avainten luontiin. Käsin kirjoitettu hylkäysotanta-algoritmi toimii tämän päällä poistaakseen modulo-vinouman, joka vaivaa yksinkertaisia Math.random() % alue -toteutuksia, mukaan lukien yli 2^32:n levyiset alueet BigInt-aritmetiikalla.

  1. 1
    Aseta alue ja tila
    Valitse yksittäisen luvun, eräluettelon (jopa 1000) tai monitahoisten noppien (d4–d100) väliltä. Listoille voit myös vaatia uniikkeja arvoja ja valinnaisesti lajitella tulosteen nousevaan järjestykseen.
  2. 2
    crypto.getRandomValues piirtää raakaa entropiaa
    Jokainen luku poimitaan Uint32Array-taulukosta (tai BigUint64Array-taulukosta yli 2^32:n levyisille alueille), jonka selaimen kryptografinen satunnaislukugeneraattori täyttää — ei Math.random(). Hylkäysotanta hylkää sitten arvot, jotka vinouttaisivat jakaumaa, joten jokaisella kokonaisluvulla alueellasi on täsmälleen sama todennäköisyys.
  3. 3
    Uniikki arvo -tila käyttää Fisher-Yatesia tai hylkäysten seurantaa
    Kun uniikki-tila on päällä ja alue mahtuu muistiin (jopa 100 000 arvoa), työkalu materialisoi koko joukon ja sekoittaa sen Fisher-Yates-menetelmällä. Hyvin suurille alueille se sen sijaan poimii arvoja yksi kerrallaan, ohittaen toistot — välttäen miljardien alkioiden taulukon rakentamisen muistikustannuksen.
  4. 4
    Tulokset ilmestyvät animoidulla palautteella ja jäävät istuntohistoriaan
    Lopulliset arvot animoituvat paikoilleen (kolikkopelimäinen pyöritys luvuille, kuperkeikkaa heittävät nopat noppatilassa) käyttäen requestAnimationFrame-toimintoa, ja ilmestyvät sitten vieritettävään historialokiin, jonka voit kopioida milloin tahansa. Mikään ei poistu selaimestasi.

Liittyvät työkalut

Usein kysytyt kysymykset