Gerador de Números Aleatórios
Opções
Saída
Detalhes técnicos
Como Funciona o Gerador de Números Aleatórios
O Que a Ferramenta Faz
O Gerador de Números Aleatórios produz inteiros aleatórios criptograficamente fortes ou números de vírgula flutuante usando a Web Crypto API (crypto.getRandomValues). Emprega amostragem por rejeição para eliminar o viés de módulo, garantindo uma distribuição uniforme em qualquer intervalo especificado. Pode gerar valores únicos ou lotes de números aleatórios com definições configuráveis de mínimo, máximo e precisão.
Casos de Uso Comuns para Programadores
Os programadores usam geradores de números aleatórios criptográficos para tarefas sensíveis à segurança, como gerar tokens de sessão impossíveis de adivinhar, nonces, escolhas de lotaria ou amostragem aleatória de conjuntos de dados. Os programadores de jogos usam-nos para lançamentos de dados e geração procedural quando a justiça importa. Engenheiros de QA geram entradas de teste aleatórias para fuzz testing, e cientistas de dados usam-nos para amostragem aleatória quando a reprodutibilidade não é necessária.
Formatos, Tipos ou Variantes de Dados
A ferramenta suporta a geração de inteiros dentro de um intervalo arbitrário (limites inclusivos) e a geração de números de vírgula flutuante com precisão decimal configurável. A amostragem por rejeição descarta valores que causariam viés de módulo quando o intervalo não divide uniformemente o espaço de saída da fonte aleatória. A entropia subjacente vem do CSPRNG do sistema operativo (CryptGenRandom no Windows, /dev/urandom no Unix) exposto através da Web Crypto API do browser.
Erros Comuns e Casos Limite
A aleatoriedade criptográfica é mais lenta do que Math.random() e é desnecessária para usos não relacionados com segurança, como baralhar uma playlist. A amostragem por rejeição pode, teoricamente, repetir muitas vezes para intervalos patológicos, embora na prática isto seja negligenciável. Os números aleatórios gerados no browser não podem ser inicializados com uma seed para reprodutibilidade — se precisar de sequências determinísticas para testes, use antes um PRNG com seed. O intervalo máximo de inteiros seguros é limitado por Number.MAX_SAFE_INTEGER do JavaScript (2^53 - 1).
Quando Usar Esta Ferramenta vs Código
Use esta ferramenta no browser quando precisar de um número aleatório imparcial rapidamente para uma decisão pontual, testes manuais ou para verificar que a sua própria implementação produz valores dentro dos intervalos esperados. Para uso em produção, chame crypto.getRandomValues() diretamente no seu código ou use funções CSPRNG nativas da linguagem (módulo secrets em Python, SecureRandom em Java) que se integrem com o tratamento de erros e o registo da sua aplicação.