DevToys Web Pro iconDevToys Web ProBlog
Avalie-nos:
Experimente a extensão do navegador:

Gerador de Números Aleatórios

Modo

Opções

Mín
Máx
Quantidade

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 ponto flutuante usando a Web Crypto API (crypto.getRandomValues). Ele emprega amostragem por rejeição para eliminar viés de módulo, garantindo distribuição uniforme em qualquer intervalo especificado. Você pode gerar valores únicos ou lotes de números aleatórios com configurações de mínimo, máximo e precisão.

    Casos de Uso Comuns para Desenvolvedores

    Desenvolvedores 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 loteria ou amostragem aleatória de conjuntos de dados. Desenvolvedores de jogos usam isso para rolagens de dados e geração procedural quando a imparcialidade importa. Engenheiros de QA geram entradas de teste aleatórias para fuzz testing, e cientistas de dados usam para amostragem aleatória quando a reprodutibilidade não é necessária.

    Formatos de Dados, Tipos ou Variantes

    A ferramenta oferece suporte à geração de inteiros dentro de um intervalo arbitrário (limites inclusivos) e à geração de ponto 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 operacional (CryptGenRandom no Windows, /dev/urandom no Unix) exposto por meio da Web Crypto API do navegador.

    Armadilhas Comuns e Casos de Borda

    Aleatoriedade criptográfica é mais lenta que Math.random() e desnecessária para usos não relacionados à segurança, como embaralhar uma playlist. A amostragem por rejeição pode, teoricamente, repetir muitas vezes para intervalos patológicos, embora na prática isso seja insignificante. Números aleatórios gerados no navegador não podem ser inicializados com uma seed para reprodutibilidade — se você precisa de sequências determinísticas para testes, use 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 a ferramenta no navegador quando você precisar de um número aleatório imparcial rapidamente para uma decisão pontual, testes manuais ou para verificar se 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 no Python, SecureRandom no Java) que se integrem ao tratamento de erros e ao logging do seu aplicativo.