/dev/random被读取的越多,它的响应越慢。我们用这两个设备在几个系统上试验,发现要自/dev/random上提取10MB的数据,竟耗掉了一天或一天以上的时间。而/dev/urandom在我们最快的系统上执行,三秒钟即可产生相同的数据。
这两个伪设备都可以取代mktemp,成为产生难以推测的临时性文件名的替代方案:
$ TMPFILE=/tmp/secret.$(cat /dev/urandom | od -x | tr -d ' ' | head -n 1) $ echo $TMPFILE /tmp/secret.00000003ba2c845df949a7535088c8805479fdf
此处,我们从/dev/urandom读取二进制字节数据流,以od将其转换为十六进制,使用tr去掉空格,之后满一行时停止。因为od将每个输出行转换为16个字节,因而提供了16 * 8 = 128个随机位,或是2的128次方,种可能的副文件名。如果该文件名建立在仅用户可列出的目录中,则攻击者无从猜测!
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对易采站长站的支持。










