Lumaktaw sa pangunahing nilalaman

Libreng Generator ng Random na Numero

Gumawa ng mga random na numero sa anumang hanay, gumawa ng mga natatanging listahan ng numero, o maghagis ng dais. Gumagamit ng cryptographically secure na randomness.

Gumagana offline kapag na-load na

πŸ”’ Bawat numero ay gumagamit ng cryptographically-secure na randomness ng iyong browser (crypto.getRandomValues) β€” tunay na patas, hindi ang predictable na Math.random(). Walang ipinapadala kahit saan. Gayunpaman, huwag gamitin ang mga numerong ito para sa cryptographic key generation, security token, o regulated na lotterya/sugal, na nangangailangan ng audited at hardware-certified na pinagmumulan ng randomness.

Kailangang pumili ng nanalo ayon sa pangalan mula sa listahan, o mag-flip ng barya? Gamitin ang Coin Flip, Spin Wheel at List Picker tool β†’

Mga karaniwang gamit

  • Lumikha ng Lottery NumbersPumili ng random lottery numbers para sa Powerball, Mega Millions, EuroMillions, at ibang draws.
  • Pumili ng Random Winner para sa GiveawaysPaimila ng random winner mula sa numbered entry list para sa competitions at giveaways.
  • I-roll ang Dice para sa Tabletop GamesI-roll ang anumang kombinasyon ng dice β€” d4, d6, d8, d10, d12, d20, d100 β€” para sa D&D at tabletop RPGs.
  • Random Sampling para sa ResearchLumikha ng random samples, magaplay ng random IDs, o pumili ng random subset mula sa numbered dataset.
  • Lumikha ng Test Data Random NumbersGumawa ng malalaking listahan ng random numbers para sa testing algorithms, puno ng databases, at stress-testing systems.

Paano ito Gumagana

Bawat numerong ginagawa ng tool na ito ay galing sa crypto.getRandomValues β€” ang cryptographically secure na random source ng browser, ang parehong ginagamit sa pagbuo ng TLS key. May hand-written na rejection-sampling algorithm sa ibabaw nito para alisin ang modulo bias na problema ng simpleng Math.random() % range, kasama ang mga saklaw na mas malawak sa 2^32 gamit ang BigInt na aritmetika.

  1. 1
    Itakda ang saklaw at mode
    Pumili sa iisang numero, batch na listahan (hanggang 1000), o polyhedral dice (d4 hanggang d100). Para sa listahan, puwede mo ring hingin na natatangi ang mga halaga at opsyonal na i-sort pataas ang output.
  2. 2
    Kumukuha ng raw na entropy ang crypto.getRandomValues
    Kinukuha ang bawat numero mula sa isang Uint32Array (o BigUint64Array para sa saklaw na mas malawak sa 2^32) na pinupuno ng cryptographic RNG ng browser β€” hindi Math.random(). Pagkatapos, itinatapon ng rejection sampling ang mga halagang magpapakiling sa distribusyon, kaya eksaktong pantay ang tsansa ng bawat integer sa saklaw mo.
  3. 3
    Gumagamit ang unique-value mode ng Fisher-Yates o rejection tracking
    Kapag naka-on ang unique mode at kasya sa memory ang saklaw (hanggang 100,000 halaga), binubuo ng tool ang buong pool at sina-shuffle gamit ang Fisher-Yates. Para sa napakalalaking saklaw, kumukuha ito ng halaga nang isa-isa at nilalaktawan ang mga ulit β€” iniiwasan ang gastos sa memory ng pagbuo ng array na may bilyun-bilyong entry.
  4. 4
    Lumalabas ang mga resulta na may animated na feedback at nananatili sa session history
    Gumagalaw papunta sa puwesto ang mga huling halaga (slot-machine roll para sa numero, gumugulong na dice para sa dice mode) gamit ang requestAnimationFrame, pagkatapos ay lumalabas sa isang history log na maaaring i-scroll at puwede mong kopyahin anumang oras. Walang umaalis sa browser mo.

Mga Kaugnay na Tool

Mga Madalas na Itanong