WEB CRYPTO · CSPRNG 0 COOKIE · 0 TRACKING 1.305 estrazioni v1.0.0
cybernet.fun / Laboratorio del caso English

Numeri casuali / numeri-casuali

Generatore di numeri casuali

Uniforme davvero: campionamento per rifiuto, zero bias.

  • Sorgentecrypto.getRandomValues()
  • Entropia—
  • estrazioni95
RISULTATO —

Un generatore ingenuo calcola random() % n. Se il generatore produce 2^32 valori e n non è un divisore esatto, alcuni risultati escono più spesso: è il bias del modulo, misurabile e sfruttabile. Qui si usa il campionamento per rifiuto: si estrae un intero a 32 bit e si scarta finché non cade nel più grande multiplo di n. Il bias residuo è esattamente zero.

Gli intervalli sono normalizzati prima dell estrazione e gli intervalli enormi vengono composti da due word per restare dentro i 53 bit esatti di JavaScript: nessuna perdita di precisione, nessun arrotondamento silenzioso.

Come funziona

  1. 01Imposta minimo e massimo. I valori invertiti vengono riordinati, i decimali rifiutati.
  2. 02Scegli quanti numeri estrarre e se devono essere unici: l estrazione è senza reimmissione.
  3. 03Ogni clic aggiorna l istogramma dei campioni della sessione: è così che si vede l uniformità.
Pubblicità
Sponsor

Spazio disponibile. Il sito è sostenuto da un solo sponsor per pagina, senza tracciamento.

oppure togli gli annunci con Pro →

Domande frequenti

Generatore di numeri casuali

Perché non usare Math.random()?

Perché è deterministico e non adatto a nulla che riguardi sicurezza o sorteggi verificabili. V8 lo inizializza con uno stato ricostruibile; crypto.getRandomValues() legge dal pool di entropia del sistema operativo.

Che intervallo massimo supporta?

Fino a 2^53 valori distinti, cioè circa nove miliardi di miliardi. Oltre, la precisione dei numeri in virgola mobile non è garantita e lo strumento lo dichiara invece di restituire valori sbagliati.

I numeri sono ripetibili con lo stesso seme?

No, e è voluto: non c è un seme impostabile. Se ti serve riproducibilità per una simulazione, questa non è la pagina giusta — servirebbe un PRNG con seme, non un CSPRNG.

Strumenti correlati