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.