Dados onlineGerador de dados online

Princípio da geração aleatória por um computador e no Linux.

O princípio da geração aleatória de um valor ou dado por um computador:

A maneira mais fácil de gerar números aleatórios é usar um gerador de números pseudo-aleatórios. Esse gerador produz números por recorrência, sendo o primeiro número uma semente (seed em inglês). Essa semente deve ser inicializada por qualquer número. É o primeiro número aleatório da série. Então, para obter outro, multiplicamos o último por uma constante a, depois adicionamos uma constante c ao resultado e tomamos o resto da divisão euclidiana por uma constante m.

Se as constantes a, c e m são bem escolhidas, os números assim produzidos são pseudo-aleatórios. É então possível inicializar a semente no tempo atual em segundos, o que fornece resultados diferentes desde que você não inicie o programa duas vezes no mesmo segundo, ou você também pode escolher uma semente fixa, se desejar reproduzir os resultados. Esse tipo de gerador não é de todo seguro, no sentido de que, conhecendo a sequência de números aleatórios produzidos, não é impossível prever o próximo.

Mas por que você desejaria gerar números aleatórios "seguros"? Bem, eles são usados, por exemplo, para gerar chaves para se comunicar com os servidores criptografando o tráfego; portanto, pode ser útil gerar uma chave que um invasor não possa prever. É por isso que existem geradores de números pseudo-aleatórios protegidos para aplicativos criptográficos.

A geração aleatória e segura está também ligada às tabelas ascii, que desempenham um papel importante na codificação de caracteres. É assim que o computador interpreta os diferentes caracteres que compõem a cadeia aleatória e segura.

Finalmente, para gerar um número aleatório, pode ser preferível usar fontes de entropia. A entropia de Shannon é uma medida da quantidade de informação presente em um sinal. Pode vir, por exemplo, do tráfego de rede, dos movimentos do mouse, do uso da CPU ou de um sensor de ruído.

No Linux, os arquivos /dev/random e /dev/urandom permitem gerar números aleatórios com base na entropia coletada no sistema. O primeiro bloqueia a leitura até que haja entropia suficiente gerada no sistema. A leitura do segundo, por outro lado, nunca é bloqueada, mas a qualidade dos números assim gerados pode ser menor.

Você também pode saber mais sobre um gerador de senhas em ciência da computação.