Un generatore di numeri casuali (RNG) è uno strumento o algoritmo che produce un numero scelto casualmente da un intervallo specificato. Questi possono essere realmente casuali (basati su fenomeni fisici) o pseudo-casuali (generati da algoritmi nel codice).
Esempio: un generatore potrebbe produrre un numero compreso tra 1 e 100, come 57.
Simulazioni (ad esempio, modelli meteorologici, meccaniche di gioco, simulazioni Monte Carlo).
Crittografia (generazione di chiavi o token sicuri).
Giochi (eventi casuali, lanci di dadi, bottino).
Campionamento e statistiche (selezione casuale di punti dati o utenti).
Mischiare e ordinare (randomizzare elementi o ordinare le domande).
Quando sono necessari risultati imprevedibili (ad esempio, lotteria, lancio di dadi, mescolamento di carte).
Nei test automatizzati, per simulare diversi comportamenti dell'utente o di input.
Per il campionamento statistico e gli esperimenti.
Durante lo sviluppo di un gioco, per meccaniche dinamiche o basate sul caso.
In ambito di sicurezza (ad esempio, generazione di password, creazione di token).