DevToys Web Pro iconDevToys Web ProBlog
Értékeljen minket:
Próbáld ki a böngészőbővítményt:

Véletlenszám-generátor

Mód

Beállítások

Min
Max
Darabszám

Kimenet

  • Technikai részletek

    Hogyan működik a véletlenszám-generátor

    Mit csinál az eszköz

    A véletlenszám-generátor kriptográfiailag erős véletlen egész számokat vagy lebegőpontos számokat állít elő a Web Crypto API (crypto.getRandomValues) használatával. Modulo-torzítás kiküszöbölésére elutasításos mintavételezést alkalmaz, így bármely megadott tartományban egyenletes eloszlást biztosít. Generálhat egyedi értékeket vagy véletlenszámok kötegeit, konfigurálható minimum, maximum és pontossági beállításokkal.

    Gyakori fejlesztői felhasználási esetek

    A fejlesztők kriptográfiai véletlenszám-generátorokat használnak biztonságérzékeny feladatokhoz, például kitalálhatatlan munkamenet-tokenek, nonce-ok, lottószámok generálásához, vagy adathalmazokból történő véletlen mintavételezéshez. A játékfejlesztők kockadobásokhoz és procedurális generáláshoz használják, amikor a méltányosság számít. A QA mérnökök véletlen tesztbemeneteket generálnak fuzz teszteléshez, az adattudósok pedig véletlen mintavételezéshez használják, amikor a reprodukálhatóság nem követelmény.

    Adatformátumok, típusok vagy változatok

    Az eszköz támogatja az egész számok generálását tetszőleges tartományon belül (inkluzív határok), valamint a lebegőpontos számok generálását konfigurálható tizedes pontossággal. Az elutasításos mintavételezés eldobja azokat az értékeket, amelyek modulo-torzítást okoznának, amikor a tartomány nem osztja egyenletesen a véletlen forrás kimeneti terét. Az alapul szolgáló entrópia az operációs rendszer CSPRNG-jéből származik (CryptGenRandom Windows alatt, /dev/urandom Unixon), amelyet a böngésző Web Crypto API-ja tesz elérhetővé.

    Gyakori buktatók és szélső esetek

    A kriptográfiai véletlenszerűség lassabb, mint a Math.random(), és nem szükséges nem biztonsági célokra, például egy lejátszási lista keveréséhez. Az elutasításos mintavételezés elméletileg sokszor ismétlődhet kóros tartományok esetén, bár a gyakorlatban ez elhanyagolható. A böngészőben generált véletlenszámok nem seedelhetők a reprodukálhatóság érdekében — ha teszteléshez determinisztikus sorozatokra van szüksége, használjon seedelt PRNG-t. A maximális biztonságos egész tartományt a JavaScript Number.MAX_SAFE_INTEGER (2^53 - 1) korlátozza.

    Mikor érdemes ezt az eszközt használni a kód helyett

    Használja ezt a böngészős eszközt, amikor gyors, torzítatlan véletlenszámra van szüksége egy egyszeri döntéshez, manuális teszteléshez, vagy annak ellenőrzéséhez, hogy a saját implementációja az elvárt tartományokon belül ad-e értékeket. Éles használatra hívja közvetlenül a crypto.getRandomValues()-t a kódjában, vagy használja a nyelv natív CSPRNG függvényeit (secrets modul Pythonban, SecureRandom Javában), amelyek illeszkednek az alkalmazása hibakezeléséhez és naplózásához.