Gerador de Números Aleatórios
crypto.getRandomValues · uniforme · no navegador
crypto.getRandomValues. A página usa amostragem por rejeição para que o resultado seja uniforme em qualquer intervalo — sem viés modulo. Intervalo configurável, quantidade, decimais, ordem, separador de saída e modo apenas-único.Por que isso é "verdadeiramente aleatório"
Navegadores expõem duas fontes aleatórias: Math.random(), um gerador pseudo-aleatório rápido mas determinístico por execução, e crypto.getRandomValues(), um RNG criptograficamente seguro semeado a partir do pool de entropia do sistema operacional — a mesma fonte usada para gerar chaves de sessão TLS. Esta página usa a última para cada valor que você sorteia.
Evitando viés de módulo
Implementações ingênuas de inteiro-a-partir-de-RNG fazem rand() % n — isso dá um peso ligeiramente maior à parte baixa do intervalo quando n não divide o tamanho da palavra do RNG uniformemente. O viés é pequeno, mas real e trivialmente detectável em milhões de sorteios.
Modo decimal
Quando você pede decimais, a página sorteia um valor uniforme em [0, 1) a partir de 53 bits de crypto.getRandomValues e o escala para o intervalo solicitado. Até 15 dígitos de precisão estão disponíveis — o limite prático dos floats de precisão dupla IEEE-754, que são os números do JavaScript.
Modo único
Com Sem duplicatas ligado, a página usa um Fisher–Yates parcial do intervalo inteiro, o que garante escolhas únicas uniformemente distribuídas — a abordagem padrão para amostragem justa sem reposição (o mesmo algoritmo usado para embaralhar cartas ou sortear uma loteria sem re-sorteios).
Privacidade
Cada valor é gerado localmente. A página não faz requisições de rede após o carregamento estático inicial, e não há scripts de analítica. Nenhuma das suas entradas ou valores gerados sai da página.