Auditoria pública
Auditoria do sorteio
- Sorteio trancado com assinatura digital02/11/2026, 21:57
Ao abrir as vendas, o sistema gerou uma chave secreta e publicou apenas a sua “impressão digital” (SHA-256). Se a chave fosse trocada depois, a impressão digital não bateria mais.
b9b029a3d3392f86c080cc3f9ee83dd2f9d05d4654f7a6e162f543c8e3c2ebb0 - 2Vendas encerradas e lista de cotas publicada
Vendas abertas até 03/12/2026, 20:00. A lista será publicada no encerramento.
- 3Número sorteado ao vivo
Será sorteado em público no dia da apuração (04/12/2026, 20:00).
- 4Sorteio apurado e chave revelada
Previsto para 04/12/2026, 20:00.
Como o cálculo funciona (para quem quiser refazer em outra ferramenta)
1. Assinatura: SHA-256(chave) deve ser igual à assinatura publicada na abertura das vendas.
2. Lista: os números vendidos em ordem crescente, um por linha, separados por "\n" (sem linha final). hashLista = SHA-256(lista).
3. aoVivo = o número sorteado em público, exatamente como publicado (só algarismos, zeros à esquerda incluídos).
4. Para o prêmio k (1, 2, 3…), começando com t = 0:
h = SHA-256(chave + ":" + hashLista + ":" + aoVivo + ":" + k + ":" + t)
índice = h (lido como número hexadecimal) módulo a quantidade de cotas vendidas
número sorteado = posição "índice" da lista (a primeira posição é 0).
Se o número já ganhou um prêmio anterior, repete com t + 1.
5. Todos os textos são codificados em UTF-8 e os hashes escritos em hexadecimal minúsculo.
# Python 3 — salve a lista como vendas.txt
import hashlib
chave = "<chave revelada>"
ao_vivo = "<número sorteado ao vivo>"
lista = open("vendas.txt").read().strip()
nums = [int(x) for x in lista.split("\n")]
h_lista = hashlib.sha256("\n".join(map(str, sorted(nums))).encode()).hexdigest()
ganhou = []
for k in range(1, 1 + 1):
t = 0
while True:
h = hashlib.sha256(f"{chave}:{h_lista}:{ao_vivo}:{k}:{t}".encode()).hexdigest()
n = sorted(nums)[int(h, 16) % len(nums)]
if n not in ganhou:
ganhou.append(n); print(k, "º prêmio:", n); break
t += 1