Linux中的随机数文件 /dev/random /dev/urandom

转载 2016年08月31日 10:13:09
转自:http://www.linuxidc.com/Linux/2012-05/60476.htmLinux中的随机数可以从两个特殊的文件中产生,一个是/dev/urandom.另外一个是/dev/random。他们产生随机数的原理是利用当前系统的熵池来计算出固定一定数量的随机比特,然后将这些比特作为字节流返回。熵池就是当前系统的环境噪音,熵指的是一个系统的混乱程度,系统噪音可以通过很多参数来评估,如内存的使用,文件的使用量,不同类型的进程数量等等。如果当前环境噪音变化的不是很剧烈或者当前环境噪音很小,比如刚开机的时候,而当前需要大量的随机比特,这时产生的随机数的随机效果就不是很好了。这就是为什么会有/dev/urandom和/dev/random这两种不同的文件,后者在不能产生新的随机数时会阻塞程序,而前者不会(ublock),当然产生的随机数效果就不太好了,这对加密解密这样的应用来说就不是一种很好的选择。/dev/random会阻塞当前的程序,直到根据熵池产生新的随机字节之后才返回,所以使用/dev/random比使用/dev/urandom产生大量随机数的速度要慢。下面是一个简单的测试:[lichao@sg01 dd]$ dd if=/dev/random of=random.dat bs=1024b count=1 0+1 records in 0+1 records out 128 bytes (128 B) copied, 0.000169 seconds, 757 kB/s [lichao@sg01 dd]$ dd if=/dev/urandom of=random.dat bs=1024b count=1 1+0 records in 1+0 records out 524288 bytes (524 kB) copied, 0.091297 seconds, 5.7 MB/s 可以看到使用/dev/random产生随机数的速度很慢,而且产生的量很有限,当然,/dev/urandom的随机效果则好很多。

如何在Linux系统通过命令行生成随机文件

是否会有这样的场景:在有需要测试数据的时候,你不知如何生成一些已包含测试数据的文件;或者你是临时需要一个小的程序,可以让你生成不同大小的文件(比如大于1Mb少于100Mb),不需要从网络上去搜寻查找如...

php 使用“/dev/urandom”获取随机数

描述  首先,说一下伪随机数,伪随机数并不是假随机数,这里的“伪”是有规律的意思,就是计算机产生的伪随机数既是随机的又是有规律的。怎样理解呢?产生的伪随机数有时遵守一定的规律,有时不遵守任何规律;伪随...

/dev/random和/dev/urandom

原文地址:http://ilexes.blog.51cto.com/705330/152855   /dev/random和/dev/urandom是unix系统提供的产生随机数的设备,很多应...

/dev/random和/dev/urandom

/dev/random和/dev/urandom是unix系统提供的产生随机数的设备,很多应用都需要使用random设备提供的随机数,比如ssh keys, SSL keys, TCP/IP sequ...
  • wind19
  • wind19
  • 2012年10月18日 13:44
  • 8074

/dev/random和/dev/urandom的一点备忘

1.  基本介绍     /dev/random和/dev/urandom是Linux系统中提供的随机伪设备,这两个设备的任务,是提供永不为空的随机字节数据流。很多解密程序与安全应用程序(如SSH K...
  • ohmygirl
  • ohmygirl
  • 2014年10月22日 22:36
  • 17804

linux /dev 常见特殊设备介绍与应用[loop,null,zero,full,random]

linux是文件型系统,所有硬件如软件都会在对于的目录下面有相应的文件表示。对于dev这个目录,我们知道它下面的文件,表示的是linux的设备。在windows系统中,设备大家很好理解,象硬盘,磁盘指...

/dev/urandom 不得不说的故事

原文: Myths about /dev/urandom 作者:Thomas Hühn 译者:Chen Jie by Chen Jie ofTinyLab.org ...

linux下修改/dev/shm tmpfs文件系统大小+/etc/fstab 讲解 .

默认系统就会加载/dev/shm ,它就是所谓的tmpfs,有人说跟ramdisk(虚拟磁盘),但不一样。象虚拟磁盘一 样,tmpfs 可以使用您的 RAM,但它也可以使用您的交换分区来存储。而...

linux dev文件详解

linux /dev目录 linux /dev目录    dev 是设备(device)的英文缩写。这个目录对所有的用户都十分重要。因为在这个目录中包含了所有Linux系统中使用的外部设备。但是...

Linux内存文件系统——tmpfs(/dev/shm)

一、/dev/shm理论 默认的Linux发行版中的内核配置都会开启tmpfs,映射到了/dev/下的shm目录。可以通过df 命令查看结果. /dev/shm/是linux下一个非常有用的目录,...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux中的随机数文件 /dev/random /dev/urandom
举报原因:
原因补充:

(最多只允许输入30个字)