Ugrás a fő tartalomra

Ingyenes Véletlenszám-generátor

Generálj véletlenszámokat bármely tartományban, hozz létre egyedi számlistákat, vagy dobd meg a kockát. Kriptográfiailag biztonságos véletlenszerűséget használ.

Betöltés után offline is működik

🔒 Minden szám a böngésző kriptográfiailag biztonságos véletlenszerűségét használja (crypto.getRandomValues) — valóban igazságos, nem a kiszámítható Math.random(). Semmi nem kerül elküldésre. Ennek ellenére ne használd ezeket a számokat kriptográfiai kulcsgeneráláshoz, biztonsági tokenekhez vagy szabályozott sorsolásos/szerencsejáték-alkalmazásokhoz, amelyek auditált, hardver-tanúsított véletlenszerűségi forrásokat igényelnek.

Névsorból kell nyertest húznod, vagy érmét dobnál fel? Használd a Pénzfeldobás, Szerencsekerék és Listaválasztó eszközt →

Gyakori felhasználások

  • Lottó számok létrehozásaVálasszon véletlenszerű lottó számokat a Powerball, Mega Millions, EuroMillions és egyéb sorsolások számára.
  • Véletlenszerű nyertes kiválasztása ajándékozások számáraIgazságosan válasszon egy véletlenszerű nyertest a számozott bejegyzések listájából versenyek és ajándékozások számára.
  • Kockák feldobása társasjátékokhozDobjunk bármilyen kocka kombinációt — d4, d6, d8, d10, d12, d20, d100 — a D&D és társasjáték RPG-khez.
  • Véletlenszerű mintavételezés kutatáshozVéletlenszerű minták létrehozása, véletlenszerű azonosítók hozzárendelése vagy egy véletlenszerű részhalmaz kiválasztása egy számozott adathalmazból.
  • Véletlenszerű számok létrehozása tesztelési adatokhozHozzon létre nagy véletlenszerű szám listákat algoritmus teszteléséhez, adatbázis feltöltéséhez és rendszerstressz teszteléséhez.

Hogyan működik

Minden szám, amelyet ez az eszköz generál, a crypto.getRandomValues-ból származik — a böngésző kriptográfiailag biztonságos véletlenszám-forrásából, ugyanabból, amelyet a TLS kulcsgenerálásához is használnak. Egy kézzel írt, elutasításos mintavételi algoritmus épül erre rá, hogy kiküszöbölje a moduló-torzítást, amely az egyszerű Math.random() % tartomány megvalósításokat sújtja, beleértve a 2^32-nél szélesebb tartományokat is, BigInt aritmetikával.

  1. 1
    Állítsd be a tartományt és a módot
    Válassz egyetlen szám, egy kötegelt lista (akár 1000 elemig) vagy poliéder kockák (d4-től d100-ig) között. Listáknál egyedi értékeket is kérhetsz, és opcionálisan növekvő sorrendbe rendezheted a kimenetet.
  2. 2
    A crypto.getRandomValues nyers entrópiát húz
    Minden szám egy Uint32Array-ből (vagy 2^32-nél szélesebb tartományoknál BigUint64Array-ből) kerül kihúzásra, amelyet a böngésző kriptográfiai véletlenszám-generátora tölt fel — nem a Math.random(). Az elutasításos mintavétel ezután eldobja azokat az értékeket, amelyek torzítanák az eloszlást, így a tartományod minden egész számának pontosan azonos az esélye.
  3. 3
    Az egyedi érték mód Fisher-Yates keverést vagy elutasítás-nyomon-követést használ
    Ha az egyedi mód be van kapcsolva, és a tartomány elfér a memóriában (akár 100 000 értékig), az eszköz materializálja a teljes halmazt, és Fisher-Yates módszerrel megkeveri. Nagyon nagy tartományoknál egyesével húz értékeket, kihagyva az ismétlődéseket — így elkerülve a milliárdos elemszámú tömb memóriaköltségét.
  4. 4
    Az eredmények animált visszajelzéssel érkeznek, és megmaradnak a munkamenet-előzményekben
    A végleges értékek requestAnimationFrame segítségével animálva kerülnek a helyükre (nyerőgépszerű pörgés számoknál, gördülő kockák kockamódban), majd megjelennek egy görgethető előzménynaplóban, amelyet bármikor lemásolhatsz. Semmi nem hagyja el a böngésződet.

Kapcsolódó eszközök

Gyakran ismételt kérdések