Generátor náhodných čísel
Možnosti
Výstup
Technické podrobnosti
Ako funguje generátor náhodných čísel
Čo nástroj robí
Generátor náhodných čísel vytvára kryptograficky silné náhodné celé čísla alebo čísla s pohyblivou desatinnou čiarkou pomocou Web Crypto API (crypto.getRandomValues). Používa odmietacie vzorkovanie na odstránenie modulo skreslenia, čím zabezpečuje rovnomerné rozdelenie v ľubovoľnom zadanom rozsahu. Môžete generovať jednotlivé hodnoty alebo dávky náhodných čísel s nastaviteľným minimom, maximom a presnosťou.
Bežné prípady použitia pre vývojárov
Vývojári používajú kryptografické generátory náhodných čísel na bezpečnostne citlivé úlohy, ako je generovanie neuhádnuteľných tokenov relácie, nonce hodnôt, lotériových výberov alebo náhodné vzorkovanie z datasetov. Herní vývojári ich používajú na hody kockou a procedurálne generovanie, keď záleží na férovosti. QA inžinieri generujú náhodné testovacie vstupy na fuzz testovanie a dátoví vedci ich používajú na náhodné vzorkovanie, keď nie je potrebná reprodukovateľnosť.
Dátové formáty, typy alebo varianty
Nástroj podporuje generovanie celých čísel v ľubovoľnom rozsahu (vrátane hraníc) a generovanie čísel s pohyblivou desatinnou čiarkou s nastaviteľnou desatinnou presnosťou. Odmietacie vzorkovanie zahadzuje hodnoty, ktoré by spôsobili modulo skreslenie, keď rozsah rovnomerne nedelí výstupný priestor zdroja náhodnosti. Základná entropia pochádza z CSPRNG operačného systému (CryptGenRandom vo Windows, /dev/urandom v Unix) sprístupneného cez Web Crypto API prehliadača.
Bežné úskalia a okrajové prípady
Kryptografická náhodnosť je pomalšia než Math.random() a je zbytočná pre nebezpečnostné použitia, ako je miešanie playlistu. Odmietacie vzorkovanie môže teoreticky veľakrát opakovať cyklus pri patologických rozsahoch, hoci v praxi je to zanedbateľné. Náhodné čísla generované v prehliadači nemožno seedovať pre reprodukovateľnosť — ak potrebujete deterministické sekvencie na testovanie, použite namiesto toho seedovaný PRNG. Maximálny bezpečný rozsah celých čísel je obmedzený JavaScriptovým Number.MAX_SAFE_INTEGER (2^53 - 1).
Kedy použiť tento nástroj vs. kód
Použite tento nástroj v prehliadači, keď potrebujete rýchle nezaujaté náhodné číslo na jednorazové rozhodnutie, manuálne testovanie alebo overenie, že vaša vlastná implementácia produkuje hodnoty v očakávaných rozsahoch. Na produkčné použitie volajte crypto.getRandomValues() priamo vo svojom kóde alebo používajte natívne CSPRNG funkcie daného jazyka (modul secrets v Pythone, SecureRandom v Jave), ktoré sa integrujú so spracovaním chýb a logovaním vašej aplikácie.