PureTools

Gerador de Numeros Aleatorios: Faixas, Distribuicoes e Casos de Uso

PureTools Team· 6 min de leitura
Gerador de Numeros Aleatorios: Faixas, Distribuicoes e Casos de Uso

Numeros Aleatorios Estao em Todo Lugar

Numeros aleatorios alimentam tudo, de jogos e simulacoes a criptografia e pesquisa cientifica. Mas nem todos sao criados iguais - entender a diferenca importa.

Pseudo-Aleatorio vs Verdadeiramente Aleatorio

TipoFonteVelocidadeCaso de Uso
Pseudo-aleatorio (PRNG)Algoritmo matematicoMuito rapidoJogos, simulacoes, testes
Criptografico (CSPRNG)Pool de entropia do SORapidoSeguranca, tokens, senhas
Verdadeiramente aleatorio (TRNG)Fenomenos fisicosLentoLoterias, pesquisa cientifica

Em JavaScript

// Pseudo-aleatorio (NAO criptograficamente seguro)
Math.random() // 0 a 1
Math.floor(Math.random() * 100) + 1 // 1 a 100

// Criptograficamente seguro
const array = new Uint32Array(1);
crypto.getRandomValues(array);
const seguro = array[0]; // 0 a 4.294.967.295

// Inteiro aleatorio em faixa (seguro)
function inteiroAleatorio(min, max) {
  const faixa = max - min + 1;
  const array = new Uint32Array(1);
  crypto.getRandomValues(array);
  return min + (array[0] % faixa);
}

Casos de Uso Comuns

  • Jogos: Rolagem de dados, embaralhamento de cartas, geracao procedural
  • Seguranca: Geracao de senhas, tokens de sessao, nonces
  • Testes: Fuzz testing, dados de teste aleatorios, simulacoes Monte Carlo
  • Estatistica: Amostragem, bootstrapping, experimentos aleatorizados
  • Arte: Arte generativa, texturas procedurais, musica

Distribuicoes Importam

Nem todo aleatorio deve ser uniforme. Diferentes distribuicoes servem diferentes propositos:

  • Uniforme: Probabilidade igual na faixa (dados, loteria)
  • Normal (Gaussiana): Curva de sino, maioria dos valores perto da media (alturas, notas)
  • Exponencial: Modela tempo entre eventos (requisicoes de servidor, decaimento radioativo)
  • Poisson: Contagem de eventos em um periodo (chamadas por hora, visitas ao site)

O Problema do Vies

Usar modulo (%) para restringir um numero aleatorio a uma faixa introduz vies quando a faixa nao divide uniformemente a faixa de origem. Para aplicacoes criticas, use amostragem por rejeicao.

Gere numeros aleatorios com faixas personalizadas usando o Gerador de Numeros Aleatorios do PureTools. Defina valores minimo e maximo, escolha quantos numeros gerar e obtenha resultados criptograficamente seguros instantaneamente.