Generator til tilfældige tal
Indstillinger
Output
Tekniske detaljer
Sådan fungerer tilfældig tal-generatoren
Hvad værktøjet gør
Tilfældig tal-generatoren producerer kryptografisk stærke tilfældige heltal eller flydende tal ved hjælp af Web Crypto API'et (crypto.getRandomValues). Den anvender rejection sampling for at eliminere modulo-bias og sikre en ensartet fordeling på tværs af ethvert angivet interval. Du kan generere enkeltværdier eller batches af tilfældige tal med konfigurerbare indstillinger for minimum, maksimum og præcision.
Almindelige anvendelsestilfælde for udviklere
Udviklere bruger kryptografiske tilfældige tal-generatorer til sikkerhedsfølsomme opgaver som at generere ikke-gættelige sessionstokens, nonces, lotterivalg eller tilfældig udvælgelse fra datasæt. Spiludviklere bruger dem til terningkast og procedurel generering, når fairness er vigtig. QA-ingeniører genererer tilfældige testinput til fuzz testing, og data scientists bruger dem til tilfældig sampling, når reproducerbarhed ikke er påkrævet.
Dataformater, typer eller varianter
Værktøjet understøtter generering af heltal inden for et vilkårligt interval (inklusive grænser) og generering af flydende tal med konfigurerbar decimalpræcision. Rejection sampling kasserer værdier, der ville give modulo-bias, når intervallet ikke går op i den tilfældige kildes outputrum. Den underliggende entropi kommer fra operativsystemets CSPRNG (CryptGenRandom på Windows, /dev/urandom på Unix), som eksponeres via browserens Web Crypto API.
Almindelige faldgruber og kanttilfælde
Kryptografisk tilfældighed er langsommere end Math.random() og unødvendig til ikke-sikkerhedsformål som at blande en playliste. Rejection sampling kan teoretisk set loope mange gange for patologiske intervaller, men i praksis er dette ubetydeligt. Tilfældige tal genereret i browseren kan ikke seedes for reproducerbarhed — hvis du har brug for deterministiske sekvenser til test, så brug i stedet en seedet PRNG. Det maksimale sikre heltalsinterval er begrænset af JavaScripts Number.MAX_SAFE_INTEGER (2^53 - 1).
Hvornår du skal bruge dette værktøj vs. kode
Brug browserværktøjet, når du har brug for et hurtigt, ubiaiseret tilfældigt tal til en engangsbeslutning, manuel test eller til at verificere, at din egen implementering producerer værdier inden for forventede intervaller. Til produktion skal du kalde crypto.getRandomValues() direkte i din kode eller bruge sprog-native CSPRNG-funktioner (secrets-modulet i Python, SecureRandom i Java), der integrerer med din applikations fejlhåndtering og logging.