利用random与urandom生成随机数
2021-02-07, updated 2021-09-12
- 介绍
/dev/random
和/dev/urandom
是Linux系统中提供的随机伪设备,这两个设备的任务,是提供永不为空的随机字节数据流。很多解密程序与安全应用程序(如SSH Keys,SSL Keys等)需要它们提供的随机数据流。 - 区别
这两个设备的差异在于:/dev/random
的random依赖于系统中断,因此在系统的中断数不足时,/dev/random
设备会一直封锁,尝试读取的进程就会进入等待状态,直到系统的中断数充分够用,/dev/random
设备可以保证数据的随机性。/dev/urandom
不依赖系统的中断,也就不会造成进程忙等待,但是数据的随机性也不高。 - 使用方式
字符设备文件的打开方式和其它文件一样,都是使用open函数打开设备,然后从文件描述符中获取数据即可。
|
|