这两个设备的差异在于:/dev/random的random pool依赖于系统中断,因此在系统的中断数不足时,/dev/random设备会一直封锁,尝试读取的进程就会进入等待状态,直到系统的中断数充分够用, /dev/random设备可以保证数据的随机性。/dev/urandom不依赖系统的中断,也就不会造成进程忙等待,但是数据的随机性也不高。
随机纯数字(20位为例):
head /dev/urandom | tr -dc 0-9 | head -c 20随机小写字母+数字(20位为例):
head /dev/urandom | tr -dc a-z0-9 | head -c 20随机大小写字母+数字(20位为例):
head /dev/urandom | tr -dc A-Za-z0-9 | head -c 20