Message 268002 - Python tracker (original) (raw)

In my tests, reading from /dev/urandom never blocks even before urandom is initialized.

That's correct, and is the big difference between getrandom(0) and reading from /dev/urandom. If "the entropy pool has not been initialized" (terminology from the man pages), getrandom(0) will block, but read(/dev/urandom) will return bytes from the urandom CPRNG before it's been initialized. Which means they are some seriously low-quality not-very-random numbers.