Você precisa usar /dev/urandom
ou a fonte aleatória de "desbloqueio".
/dev/random
usa um tipo de pool de entropia para aumentar a aleatoriedade da fonte de bits. Esse método só retornará quantos bits / bytes aleatórios puderem ser retornados com base no estado do pool de entropia no momento, portanto, se um gerador de número aleatório de hardware for usado, às vezes isso pode ser uma constante. A partir da página de manual do Linux :
The generator also keeps an estimate of the number of bits of noise in the entropy pool. From this entropy pool random numbers are created.
O arquivo /dev/urandom
mantém a reutilização do pool interno como está para gerar um número pelo tempo que você precisar. O efeito colateral disso é: não use /dev/urandom
para propósitos criptográficos , pois é menos aleatório do que os bits produzidos por /dev/random
. Veja o link acima para detalhes.