Random and urandom are interfaces to the same kernel CSPRNG. The difference is that reads from random block until an internal counter that estimates the entropy in the CSPRNG crosses a threshold, and reads from urandom don't do that.
In practice, this is a distinction without a meaningful difference. In more modern implementations (like OS X) the CSPRNG works the same way with both interfaces.
You should generally prefer urandom.
There is a wellspring of urban legands about the security difference between these two interfaces because the Linux man page is misleading.
In practice, this is a distinction without a meaningful difference. In more modern implementations (like OS X) the CSPRNG works the same way with both interfaces.
You should generally prefer urandom.
There is a wellspring of urban legands about the security difference between these two interfaces because the Linux man page is misleading.