O que é aleatório de verdade

Atualizado em 14 de agosto de 2026

Todo sorteador precisa de duas coisas: uma fonte de números aleatórios e uma forma de transformar esses números em uma posição da sua lista. A primeira parte quase todo site faz razoavelmente bem. A segunda parte quase todo site faz errado, e o erro é invisível.

Parte 1: de onde vêm os números

Navegadores oferecem dois geradores, e eles não são equivalentes.

Math.random() é um gerador pseudoaleatório. Ele parte de um valor inicial e aplica uma fórmula que produz uma sequência de aparência aleatória. Dado o mesmo ponto de partida, a sequência é sempre a mesma. Para embaralhar um baralho em um joguinho, serve perfeitamente. Não foi feito para situações em que alguém tem interesse em prever o resultado.

crypto.getRandomValues() é o gerador criptográfico. Ele se alimenta de entropia que o sistema operacional coleta de eventos físicos imprevisíveis — variações de temporização de hardware, atividade de dispositivos, ruído do próprio processador. Não há fórmula para prever o próximo valor, e conhecer os anteriores não ajuda.

Usamos o segundo em tudo aqui. É exagero para decidir quem lava a louça? É. Mas não custa nada, é uma linha de código igual, e significa que nunca precisamos qualificar a resposta quando alguém pergunta se dá para prever.

Parte 2: o erro que quase todo mundo comete

Aqui está a parte interessante, e é onde a diferença de verdade aparece.

Você tem um número aleatório grande — digamos, um valor de 0 a 255 — e precisa escolher uma posição entre 10 nomes. O caminho óbvio é o resto da divisão: numero % 10. Uma linha, funciona, entrega um número de 0 a 9.

E é enviesado. Veja a conta: de 0 a 255 são 256 valores. 256 dividido por 10 dá 25 com sobra de 6. Os restos 0 a 5 aparecem 26 vezes cada, e os restos 6 a 9 aparecem 25 vezes cada. Ou seja: os seis primeiros nomes da sua lista têm 26/256 de chance e os quatro últimos têm 25/256.

A diferença é de 4%, o que é pouco e é real. Em vinte sorteios ninguém percebe. Em um sorteio com prêmio, é a diferença entre “todos tiveram chance igual” e “quem estava no topo da lista tinha vantagem”.

A correção é chamada rejeição: descartamos os valores da faixa incompleta — no exemplo, de 250 a 255 — e pedimos um número novo. Isso custa um sorteio extra em uma fração pequena dos casos, tempo completamente imperceptível, e o resultado é que todas as posições passam a ter probabilidade idêntica.

É o que nossas ferramentas fazem, e é o motivo pelo qual insistimos nesse assunto em vez de só escrever “100% aleatório” na página inicial.

Parte 3: aleatório não parece aleatório

A terceira fonte de confusão não é técnica, é de intuição. Resultado genuinamente aleatório tem aparência de padrão, e resultado que parece aleatório para uma pessoa costuma ser artificialmente regular.

Alguns números que ajudam:

  • Cara ou coroa. Em 30 jogadas, ver quatro ou cinco resultados iguais seguidos é o normal, não a exceção. Sequência de seis não é raridade.
  • Aniversário. Em uma sala com 23 pessoas, a chance de duas fazerem aniversário no mesmo dia passa de 50%. Com 50 pessoas, passa de 97%.
  • Roda com 10 nomes. Em 10 giros, o mesmo nome sair duas vezes é comum. Aliás, a chance de todos os dez saírem exatamente uma vez em dez giros é de aproximadamente 0,036%.
  • Proporção e diferença. Em muitas jogadas de moeda, a proporção se aproxima de 50%, mas a diferença bruta entre caras e coroas tende a crescer. 520 a 480 em mil jogadas é resultado perfeitamente normal.

A consequência prática: quando alguém diz que a ferramenta está viciada porque o mesmo nome saiu duas vezes, quase sempre está vendo comportamento esperado de amostra pequena. E, ao contrário, se você pedir a uma pessoa para inventar uma sequência aleatória, ela vai alternar demais e as sequências longas vão faltar.

A parte que nenhuma ferramenta resolve

Tudo acima é sobre a qualidade do sorteio. Nada disso prova a um estranho que este sorteio específico foi honesto — uma página no navegador pode mostrar qualquer coisa na tela, e quem duvida não tem como auditar.

Credibilidade vem de procedimento, não de algoritmo: publicar a lista antes, sortear à vista, gravar sem corte. É o assunto de como provar que o sorteio foi justo, e pesa mais na prática do que qualquer detalhe técnico desta página.

Resumo: gerador criptográfico em vez de pseudoaleatório, rejeição em vez de resto da divisão, e expectativa calibrada sobre o que amostra pequena faz. Os dois primeiros são nossa responsabilidade; o terceiro é o que evita discussão desnecessária.

Leia depois