DevToys Web Pro iconDevToys Web ProBlog
Ohodnoťte nás:
Vyzkoušejte rozšíření pro prohlížeč:

Generátor náhodných čísel

Režim

Možnosti

Min
Max
Počet

Výstup

  • Technické detaily

    Jak funguje generátor náhodných čísel

    Co nástroj dělá

    Generátor náhodných čísel vytváří kryptograficky silná náhodná celá čísla nebo čísla s plovoucí desetinnou čárkou pomocí Web Crypto API (crypto.getRandomValues). Používá odmítací vzorkování (rejection sampling) k odstranění modulo zkreslení a zajišťuje rovnoměrné rozdělení v libovolném zadaném rozsahu. Můžete generovat jednotlivé hodnoty nebo dávky náhodných čísel s nastavitelným minimem, maximem a přesností.

    Běžné případy použití pro vývojáře

    Vývojáři používají kryptografické generátory náhodných čísel pro bezpečnostně citlivé úlohy, jako je generování neuhodnutelných session tokenů, nonce, losů do loterie nebo náhodné vzorkování z datových sad. Herní vývojáři je používají pro hody kostkou a procedurální generování, když záleží na férovosti. QA inženýři generují náhodné testovací vstupy pro fuzz testing a datoví vědci je používají pro náhodné vzorkování, když není vyžadována reprodukovatelnost.

    Datové formáty, typy nebo varianty

    Nástroj podporuje generování celých čísel v libovolném rozsahu (včetně krajních hodnot) a generování čísel s plovoucí desetinnou čárkou s nastavitelnou desetinnou přesností. Odmítací vzorkování zahazuje hodnoty, které by způsobily modulo zkreslení, když rozsah rovnoměrně nedělí výstupní prostor náhodného zdroje. Základní entropie pochází z CSPRNG operačního systému (CryptGenRandom ve Windows, /dev/urandom na Unixu) zpřístupněného přes Web Crypto API prohlížeče.

    Běžné nástrahy a okrajové případy

    Kryptografická náhodnost je pomalejší než Math.random() a je zbytečná pro nebezpečnostní použití, jako je zamíchání playlistu. Odmítací vzorkování může teoreticky opakovat smyčku mnohokrát u patologických rozsahů, i když v praxi je to zanedbatelné. Náhodná čísla generovaná v prohlížeči nelze seedovat pro reprodukovatelnost — pokud potřebujete deterministické sekvence pro testování, použijte místo toho seedovaný PRNG. Maximální bezpečný rozsah celých čísel je omezen JavaScriptovou hodnotou Number.MAX_SAFE_INTEGER (2^53 - 1).

    Kdy použít tento nástroj vs. kód

    Použijte tento nástroj v prohlížeči, když potřebujete rychlé nezaujaté náhodné číslo pro jednorázové rozhodnutí, ruční testování nebo ověření, že vaše vlastní implementace produkuje hodnoty v očekávaných rozsazích. Pro produkční použití volejte crypto.getRandomValues() přímo ve svém kódu nebo použijte nativní CSPRNG funkce daného jazyka (modul secrets v Pythonu, SecureRandom v Javě), které se integrují se zpracováním chyb a logováním vaší aplikace.