Sorteador online: como fazer sorteio justo com crypto random (sem fraude)
Valdesson
29 de agosto de 2026 • 10 min de leitura
"Vou sortear 1 ganhador entre 1.000 participantes no Instagram" — você faz o sorteio no random.org, sorteia um número, e comenta o resultado. Mas 200 comentários reclamam: "esse random é confiável?" "o número foi escolhido de propósito?" "não dá pra verificar?" Em 2026, a expectativa de transparência é alta — e sorteio justo não é só aleatório, é também auditável. Neste guia do kitsapp. eu mostro como fazer sorteio online 100% confiável: usar CSPRNG (crypto.getRandomValues), publicar a semente, permitir verificação independente, e usar ferramentas 100% client-side (sem servidor manipulável).
Você vai sair daqui sabendo:
- Por que CSPRNG (crypto.getRandomValues) é a única escolha para sorteio justo, e como Math.random() falha
- Como publicar a semente e o resultado para permitir verificação independente
- 5 casos de uso (rifa, bingo, Instagram, casamento, evento) e como o Sorteador do kitsapp. resolve
1. O que é um sorteio justo e por que a maioria dos sites não garante
Um sorteio justo tem 3 propriedades:
- Aleatoriedade real: o resultado é imprevisível antes do sorteio (sem viés, sem manipulação).
- Auditabilidade: terceiros podem verificar que o sorteio foi legítimo (semente, algoritmo, resultado).
- Transparência: o processo é documentado e público — participantes sabem exatamente como o resultado foi gerado.
A maioria dos sites de sorteio online não garante nenhuma das 3:
- Algoritmo Math.random() (JavaScript): usa PRNG (gerador pseudo-aleatório) fraco. É determinístico — quem souber a semente pode prever o resultado. Vulnerável a ataque.
- Servidor centralizado: o site recebe a lista de participantes, escolhe o vencedor, e devolve o resultado. Sem como verificar se foi justo (o servidor pode ter manipulado).
- Sem publicação de semente: muitos sites nem publicam qual algoritmo ou seed usaram — fica tudo na "caixa preta".
Para sorteios pequenos (brinde de evento, escolha de amigo secreto) o impacto é baixo. Para sorteios grandes (rifa de R$ 10.000, concurso cultural com 10.000 participantes, promoção de empresa com 100.000 cadastros), a confiança é crítica. Por isso, a abordagem do kitsapp. é: CSPRNG + 100% client-side + semente pública + verificação independente.
2. CSPRNG: por que o crypto.getRandomValues é a única escolha segura
O CSPRNG (Cryptographically Secure Pseudorandom Number Generator) é o padrão-ouro para geração de números aleatórios em software. Em JavaScript moderno, está disponível via crypto.getRandomValues() (Web Crypto API), presente em todos os navegadores (Chrome, Firefox, Safari, Edge).
Por que CSPRNG é superior a Math.random():
| Característica | Math.random() | crypto.getRandomValues() |
|---|---|---|
| Tipo | PRNG (xorshift128+) | CSPRNG (ChaCha20 ou hardware) |
| Cripto-seguro | Não | Sim (NIST SP 800-90A) |
| Semente previsível? | Sim (V8 usa xorshift128+) | Não (entropia do sistema + hardware) |
| Velocidade | Mais rápido (mas fraco) | Rápido (suficiente) |
| Uso recomendado | Jogos, animações, simulações | Sorteios, chaves, tokens, IDs únicos |
Comparativo entre Math.random() e crypto.getRandomValues(). Para qualquer coisa que envolva dinheiro, autenticidade ou auditabilidade, use CSPRNG. Fonte: MDN — Crypto.getRandomValues.
Exemplo de uso (JavaScript):
Esse padrão é usado pelo Sorteador do kitsapp. — geração 100% no navegador, sem servidor, auditável.
3. Semente auditável: como publicar o resultado e permitir verificação
Para um sorteio ser auditável, o organizador deve publicar 3 informações:
- A lista de participantes (ou resumo, com número total + intervalo de IDs). Ex.: "1.000 participantes, IDs de 1 a 1.000".
- O algoritmo usado (CSPRNG, função hash, etc.). Ex.: "crypto.getRandomValues() com 32 bits".
- O resultado (ID vencedor + timestamp + URL do site).
Com essas 3 informações, qualquer pessoa pode reproduzir o sorteio e verificar que o resultado é o mesmo. Para sorteios oficiais (Caixa, loterias), há inclusive auditoria externa com公证 (cartório) e publicação de hash do resultado em blockchain.
Exemplo de divulgação:
A URL de verificação (link acima) permite que qualquer pessoa cole a semente e o ID, e veja que o resultado é reproduzível. É o "notário digital" do sorteio. Para o kitsapp., esse é o padrão recomendado: cada sorteio publica timestamp, semente, algoritmo e URL de verificação.
4. 5 casos de uso: rifa, bingo, Instagram, casamento, evento
Veja como aplicar o sorteio justo em 5 contextos diferentes:
Caso 1: Rifa beneficente (alto valor, exige confiança)
- Lista: 1.000 números vendidos. Divulgar lista (nomes + números) publicamente.
- Data/hora: agendar para 20h de um sábado (transmissão ao vivo).
- Algoritmo: CSPRNG com 32 bits.
- Transparência: exibir o sorteio ao vivo (rosto do organizador, tela do sorteador, contagem regressiva). Publicar semente e ID vencedor imediatamente.
Caso 2: Bingo online (múltiplos prêmios em sequência)
- Sortear 1 número por vez (1 a 75).
- Cada sorteio publica a semente e o timestamp.
- Permitir "compra de cartela" prévia e conferência automática.
Caso 3: Sorteio no Instagram (1 ganhador entre comentários)
- Contar comentários válidos (curtidos, sem duplicatas, sem spam).
- Numerar de 1 a N (cada comentário = 1 número).
- Sortear 1 número com CSPRNG.
- Transmitir ao vivo, publicar semente + URL de verificação.
Caso 4: Amigo secreto / casamento (privacidade + justiça)
- Lista de participantes (familiar/amigos).
- Sorteio com restrições (ex.: casais não se sorteiam entre si).
- Resultado individual por pessoa (não publicar publicamente).
- CSPRNG garante aleatoriedade real.
Caso 5: Evento corporativo (palestra, curso, prêmio)
- Lista de participantes (credencial, e-mail).
- Sorteio durante o evento (com tela projetada).
- CSPRNG + publicação imediata de semente e vencedor.
Para todos os 5 casos, o Sorteador do kitsapp. resolve em segundos: cole a lista, escolha o número de sorteados, clique em "Sortear". O resultado aparece com timestamp, e a semente (hash da random + timestamp + lista) é publicável.
5. Armadilhas: como detectar sorteios fraudulentos e o que evitar
Alguns sinais de sorteio fraudulento (ou mal implementado):
- Sem publicação de algoritmo: o site não diz qual método usa. Por que esconder?
- Sem publicação de semente: sem hash, sem timestamp verificável.
- URL de verificação ausente ou fake: o link para verificar abre uma página que não roda o algoritmo de novo.
- Resultado que muda ao recarregar: se você abre o link 2x e o vencedor é diferente, é fraudado.
- Sorteio feito em servidor centralizado: você envia a lista, o servidor escolhe, e devolve. Sem como auditar.
- Resultado que aparece antes do sorteio: alguns sites "vazam" o vencedor no código-fonte (visible com DevTools).
Como se proteger como organizador:
- Use CSPRNG (não Math.random).
- Publique semente + algoritmo + URL de verificação.
- Use ferramenta 100% client-side (sem servidor manipulável).
- Transmita o sorteio ao vivo (rosto do organizador + tela do site).
- Documente o sorteio em ata ou post público (com timestamp, vencedor, semente).
Como conferir como participante:
- Veja se há URL de verificação e qual algoritmo é usado.
- Tente reproduzir o sorteio com os mesmos parâmetros (se o resultado for diferente, é fraude).
- Veja se o site é 100% client-side (F12 → Network: nenhuma requisição ao sortear).
6. Use o Sorteador do kitsapp. (justo, auditável, sem upload)
O Sorteador do kitsapp. foi projetado seguindo os 7 princípios acima:
- CSPRNG: usa
crypto.getRandomValues()(32 bits de entropia), nãoMath.random(). - 100% client-side: o sorteio roda no seu navegador, sem upload. Você pode verificar com F12 → Network: zero requisições ao sortear.
- Semente pública: cada sorteio publica um hash SHA-256 da semente (combinação de timestamp + lista + número de sorteados). O hash é verificável.
- URL de verificação: o resultado tem link
/sorteador/verificar?seed=...que reproduz o sorteio e mostra o mesmo vencedor. - Documentação do algoritmo: o código está em
assets/js/sorteador.js, aberto, comentado. - Suporte a múltiplos ganhadores: sorteia 1, 5, 10, 50 vencedores sem repetir.
- Exportação do resultado: copia para área de transferência, salva como TXT ou PNG (compartilhável em redes sociais).
Como usar:
- Abra o Sorteador.
- Cole a lista de participantes (um por linha) ou importe de CSV.
- Escolha o número de sorteados (1 por padrão).
- Clique "Sortear".
- Copie o resultado (lista de vencedores + semente + URL de verificação).
- Compartilhe nas redes sociais ou e-mail com a URL para verificação.
Para sorteios profissionais (com公证, ata notarial), exporte o resultado como PDF e salve em cartório — o hash SHA-256 + lista de participantes + timestamp + URL formam o "pacote de auditoria" completo.
Em resumo, fazer sorteio online justo em 2026 é mais do que "sortear um número" — é usar CSPRNG, publicar semente, permitir verificação independente, e usar ferramentas 100% client-side. O Sorteador do kitsapp. segue esses 7 princípios e está pronto para rifas, bingos, Instagram, casamentos e eventos. Para o usuário final, é a garantia de que o sorteio não foi manipulado. Para o organizador, é a tranquilidade de não receber 200 reclamações. Use o sorteador, publique a semente, e seja transparente.
Conclusão: sorteio online justo exige CSPRNG (não Math.random), semente pública, verificação independente e 100% client-side. Com esses 4 requisitos, qualquer sorteio (rifa, bingo, Instagram, casamento, evento) é auditável e à prova de fraude. O Sorteador do kitsapp. implementa todos eles, com URL de verificação e hash SHA-256 da semente. Para o próximo sorteio, use o sorteador, publique a semente, e seja transparente — a confiança é o maior prêmio.
Revisado por Valdesson — Desenvolvedor, kitsapp.
Atualizado em 29/08/2026 · 10 min de leitura
Fontes oficiais: W3C Web Crypto API, NIST SP 800-90A Rev. 1, MDN — Crypto.getRandomValues e Cloudflare — audit CSPRNG.