Descrição Overview Descripción
Computadores não geram aleatoriedade de verdade — e isso é mais filosófico do que parece. Um processador é, por definição, uma máquina determinística: dado o mesmo estado inicial, produz sempre o mesmo resultado. Os primeiros geradores de números pseudoaleatórios (PRNG) eram funções matemáticas como o Linear Congruential Generator, proposto por D. H. Lehmer em 1948, que produzem sequências aparentemente aleatórias a partir de uma semente inicial. São rápidos e suficientes para jogos e simulações, mas têm um problema fundamental: são previsíveis se você conhece o algoritmo e a semente.
Para aplicações de segurança — senhas, tokens de sessão, chaves criptográficas — precisamos de algo diferente: um Gerador de Números Aleatórios Criptograficamente Seguro, ou CSPRNG. Em vez de funções matemáticas puras, um CSPRNG combina entropia do sistema operacional — movimentos de mouse, timing de interrupções de hardware, ruído térmico dos sensores — com algoritmos certificados. No navegador, `crypto.getRandomValues` é a interface padronizada pelo W3C que expõe esse gerador seguro do sistema operacional. É a mesma fonte que alimenta as operações criptográficas de TLS.
Os casos de uso para inteiros aleatórios em uma faixa são mais variados do que parece: sortear um vencedor de uma lista, gerar índices de array para embaralhar dados de teste, simular lançamentos de dados em jogos, criar portas de rede aleatórias para testes de integração, gerar números de exemplo para documentação técnica. O que todos compartilham é a necessidade de distribuição uniforme — cada número na faixa deve ter exatamente a mesma probabilidade de ser sorteado. O método ingênuo de `Math.floor(Math.random() * range)` tem um viés de módulo quando o range não é potência de dois; esta ferramenta aplica rejection sampling para eliminar esse viés.
Computers do not generate true randomness — and that is more philosophical than it sounds. A processor is, by definition, a deterministic machine: given the same initial state, it always produces the same result. The first pseudorandom number generators (PRNGs) were mathematical functions like the Linear Congruential Generator, proposed by D. H. Lehmer in 1948, which produce apparently random sequences from a starting seed. They are fast and sufficient for games and simulations, but they have a fundamental flaw: they are predictable if you know the algorithm and the seed.
For security applications — passwords, session tokens, cryptographic keys — something different is needed: a Cryptographically Secure Pseudorandom Number Generator, or CSPRNG. Instead of pure mathematical functions, a CSPRNG combines entropy from the operating system — mouse movements, hardware interrupt timings, thermal sensor noise — with certified algorithms. In the browser, `crypto.getRandomValues` is the W3C-standardized interface that exposes this secure OS-level generator. It is the same source that feeds the TLS cryptographic operations protecting every HTTPS connection.
The use cases for random integers in a range are more varied than they appear: drawing a winner from a list, generating array indices to shuffle test data, simulating dice rolls for games, creating random ports for integration testing, generating example numbers for technical documentation. What they all share is the need for uniform distribution — every number in the range must have exactly the same probability of being drawn. The naive approach of `Math.floor(Math.random() * range)` has a modulo bias when the range is not a power of two; this tool applies rejection sampling to eliminate that bias.
Los ordenadores no generan aleatoriedad real — y eso es más filosófico de lo que parece. Un procesador es, por definición, una máquina determinista: dado el mismo estado inicial, siempre produce el mismo resultado. Los primeros generadores de números pseudoaleatorios (PRNG) eran funciones matemáticas como el Generador Congruencial Lineal, propuesto por D. H. Lehmer en 1948, que producen secuencias aparentemente aleatorias a partir de una semilla inicial. Son rápidos y suficientes para juegos y simulaciones, pero tienen un problema fundamental: son predecibles si conoces el algoritmo y la semilla.
Para aplicaciones de seguridad — contraseñas, tokens de sesión, claves criptográficas — necesitamos algo diferente: un Generador de Números Pseudoaleatorios Criptográficamente Seguro, o CSPRNG. En lugar de funciones matemáticas puras, un CSPRNG combina entropía del sistema operativo — movimientos del ratón, tiempos de interrupciones de hardware, ruido térmico de sensores — con algoritmos certificados. En el navegador, `crypto.getRandomValues` es la interfaz estandarizada por el W3C que expone este generador seguro del sistema operativo. Es la misma fuente que alimenta las operaciones criptográficas de TLS en cada conexión HTTPS.
Los casos de uso para enteros aleatorios en un rango son más variados de lo que parece: sortear un ganador de una lista, generar índices de array para mezclar datos de prueba, simular lanzamientos de dados en juegos, crear puertos de red aleatorios para pruebas de integración, generar números de ejemplo para documentación técnica. Lo que todos comparten es la necesidad de distribución uniforme — cada número en el rango debe tener exactamente la misma probabilidad de ser seleccionado. El método ingenuo de `Math.floor(Math.random() * range)` tiene un sesgo de módulo cuando el rango no es potencia de dos; esta herramienta aplica rejection sampling para eliminar ese sesgo.
Detalhamento técnico
Pontos frequentes
- Para que serve esta ferramenta?: Ela roda 100% no seu navegador: útil para validar, formatar ou converter dados no dia a dia de desenvolvimento.
- Meus dados são enviados a algum servidor?: O processamento é feito localmente via JavaScript. Não armazenamos o conteúdo que você cola nas caixas de texto.
- Posso usar em produção ou para dados reais?: Use por sua conta e risco. Para segredos (senhas, tokens), prefira ambientes controlados e políticas da sua empresa. E lembre sempre de revisar os conteúdos gerados. Nunca confie cegamente nas coisas que vê na internet.
Trecho para testar
- Há também o bloco "Exemplo de Código" com o trecho completo; use esse texto rápido para colar nos campos e validar: Exemplo — min=1, max=10, quantidade=5
Technical deep dive
Common questions summarized
- What is this tool for?: It runs fully in your browser: useful to validate, format, or convert data in everyday development.
- Are my inputs sent to a server?: Processing happens locally with JavaScript. We do not store what you paste into the text areas.
- Can I use this for real production data?: Use at your own risk. For secrets (passwords, tokens), prefer controlled environments and your company policies. And always review the generated contents. Never trust blindly things you see on the internet.
Sample payload to try
- See also the larger "Code Snippets" sample; paste this excerpt to try locally: Example — min=1, max=10, quantidade=5
Detalle técnico
Ideas claras antes de usar la herramienta
- ¿Para qué sirve esta herramienta?: Funciona por completo en tu navegador: sirve para validar, formatear o convertir datos en el día a día.
- ¿Se envían mis datos a algún servidor?: El procesamiento es local con JavaScript. No almacenamos lo que pegas en los campos de texto.
- ¿Puedo usarlo con datos reales en producción?: Úsalo bajo tu responsabilidad. Para secretos (contraseñas, tokens), prefiere entornos controlados y políticas internas. Recuerda de revisar los contenidos generados. Nunca confies ciegamente en cosas que ves en internet.
Fragmento corto para probar
- Debajo aparece también el ejemplo largo en "Fragmentos de Código"; pega esta versión corta: Ejemplo — min=1, max=10, quantidade=5
Guia da ferramenta Tool guide Guía de la herramienta
-
O que é geração por faixa Produzir valores inteiros pseudoaleatórios dentro de um intervalo mínimo/máximo definido.
-
O que a ferramenta faz Gera uma quantidade N de inteiros entre min e max usando aleatoriedade criptográfica do navegador.
-
Por que usar Massa de teste, simulação de cenários e sorteios simples sem sair do navegador.
-
What range-based generation is Producing random integer values inside a configured min/max interval.
-
What the tool does Generates N integers between min and max using browser cryptographic randomness.
-
Why use it Test data, scenario simulation, and simple random draws without leaving the browser.
-
Qué es la generación por rango Producir valores enteros aleatorios dentro de un intervalo mínimo/máximo definido.
-
Qué hace la herramienta Genera una cantidad N de enteros entre min y max usando aleatoriedad criptográfica del navegador.
-
Por qué usarla Datos de prueba, simulación de escenarios y sorteos simples sin salir del navegador.
Exemplo de Código Code Snippets Fragmentos de Código
min=1, max=10, quantidade=5
min=1, max=10, quantidade=5
min=1, max=10, quantidade=5
Exemplo Example Ejemplo
min=1, max=10, quantidade=5
Perguntas frequentes FAQ Preguntas frecuentes
Para que serve esta ferramenta?
What is this tool for?
¿Para qué sirve esta herramienta?
Ela roda 100% no seu navegador: útil para validar, formatar ou converter dados no dia a dia de desenvolvimento.
It runs fully in your browser: useful to validate, format, or convert data in everyday development.
Funciona por completo en tu navegador: sirve para validar, formatear o convertir datos en el día a día.
Meus dados são enviados a algum servidor?
Are my inputs sent to a server?
¿Se envían mis datos a algún servidor?
O processamento é feito localmente via JavaScript. Não armazenamos o conteúdo que você cola nas caixas de texto.
Processing happens locally with JavaScript. We do not store what you paste into the text areas.
El procesamiento es local con JavaScript. No almacenamos lo que pegas en los campos de texto.
Posso usar em produção ou para dados reais?
Can I use this for real production data?
¿Puedo usarlo con datos reales en producción?
Use por sua conta e risco. Para segredos (senhas, tokens), prefira ambientes controlados e políticas da sua empresa. E lembre sempre de revisar os conteúdos gerados. Nunca confie cegamente nas coisas que vê na internet.
Use at your own risk. For secrets (passwords, tokens), prefer controlled environments and your company policies. And always review the generated contents. Never trust blindly things you see on the internet.
Úsalo bajo tu responsabilidad. Para secretos (contraseñas, tokens), prefiere entornos controlados y políticas internas. Recuerda de revisar los contenidos generados. Nunca confies ciegamente en cosas que ves en internet.