Obs: Aceito sugestão de outra forma de sorteio, entretanto, não pretendemos gravar o sorteio e divulgar o nome e o e-mail do sorteado, a fim de evitar qualquer tipo de possibilidade de exposição. Além de que, muitos podem ter preenchido a pesquisa com e-mail que utilizam para logar em corretoras.
Prezando pela transparência, seria legal usar um método onde seja possível sortear com base em uma palavra/frase, pegando por exemplo o hash do primeiro bloco de bitcoin que sair no dia 20/Dezembro/2019.
Indiferente de quantas vezes que você rodar o sorteio, o resultado será sempre o mesmo e qualquer um poderá auto-auditar ele (desde que você divulgue a fórmula com antecedência)
Um exemplo usando o método CRC32, considerando que:
1: O hash do bloco seja "0000000000000000000242c79f73c74a4c2d2eebbc8cd6f4f9bf277e0644b183"
2: O primeiro número é 1
3: O último número é 39
A fórmula ficaria assim:
(crc32("0000000000000000000242c79f73c74a4c2d2eebbc8cd6f4f9bf277e0644b183") % 39-1) + 1;
O resultado é
4 (
Confira aqui em PHP)
Me corrijam se eu estiver errado nos cálculos ou se esse método não for o ideal.
Ahh... antes do sorteio você divulga uma lista com o número e parte do email de cada participante.