/dev/random 和 /dev/urandom 的原理】的更多相关文章

1.  基本介绍 /dev/random和/dev/urandom是Linux系统中提供的随机伪设备,这两个设备的任务,是提供永不为空的随机字节数据流.很多解密程序与安全应用程序(如SSH Keys,SSL Keys等)需要它们提供的随机数据流. 这两个设备的差异在于:/dev/random的random pool依赖于系统中断,因此在系统的中断数不足时,/dev/random设备会一直封锁,尝试读取的进程就会进入等待状态,直到系统的中断数充分够用, /dev/random设备可以保证数据的随机…
1.  基本介绍 /dev/random和/dev/urandom是Linux系统中提供的随机伪设备,这两个设备的任务,是提供永不为空的随机字节数据流.很多解密程序与安全应用程序(如SSH Keys,SSL Keys等)需要它们提供的随机数据流. 这两个设备的差异在于:/dev/random的random pool依赖于系统中断,因此在系统的中断数不足时,/dev/random设备会一直封锁,尝试读取的进程就会进入等待状态,直到系统的中断数充分够用, /dev/random设备可以保证数据的随机…
在使用hostapd做软ap时,出现了random熵不够的问题,导致节点连接不上这个ap. 下面先解释一下/dev/random和/dev/urandom 先让我们从一个工程中遇到的实际问题开始,先上log: E/hostapd (  100): random: Cannot readfrom /dev/random: Try again I/hostapd (  100): random: Only 0/20bytes of strong random data available from…
1.  基本介绍 /dev/random和/dev/urandom是Linux系统中提供的随机伪设备,这两个设备的任务,是提供永不为空的随机字节数据流.很多解密程序与安全应用程序(如SSH Keys,SSL Keys等)需要它们提供的随机数据流. 这两个设备的差异在于:/dev/random的random pool依赖于系统中断,因此在系统的中断数不足时,/dev/random设备会一直封锁,尝试读取的进程就会进入等待状态,直到系统的中断数充分够用, /dev/random设备可以保证数据的随机…
If you want random data in a Linux/Unix type OS, the standard way to do so is to use /dev/random or /dev/urandom. These devices are special files. They can be read like normal files and the read data is generated via multiple sources of entropy in th…
最近使用这两个设备的时候,发现 /dev/random生成随机数很慢:于是就查了查: 这两个设备的差异在于:/dev/random的random pool依赖于系统中断,因此在系统的中断数不足时,/dev/random设备会一直封锁,尝试读取的进程就会进入等待状态,直到系统的中断数充分够用, /dev/random设备可以保证数据的随机性./dev/urandom不依赖系统的中断,也就不会造成进程忙等待,但是数据的随机性也不高. 使用下列命令可以简单对比其差异: [root@docker ~]#…
/dev/null 是一个特殊的设备文件,它丢弃一切写入其中的数据 可以将它 视为一个黑洞, 它等效于只写文件, 写入其中的所有内容都会消失, 尝试从中读取或输出不会有任何结果,同样,/dev/null 在命令行和脚本中都非常有用 用途 /dev/null 通常被用于丢弃不需要的输出流,或作为用于输入流的空文件,这些操作通常由重定向完成,任何你想丢弃的数据都可以写入其中 丢弃标准输出 在写shell脚本的时候,只想通过命令的结果执行后面的逻辑,而不想命令执行过程中有一大堆中间结果输出,这时候可以…
Linux中的随机数可以从两个特殊的文件中产生,一个是/dev/urandom.另外一个是/dev/random.他们产生随机数的原理是利用当前系统的熵池来计算出固定一定数量的随机比特,然后将这些比特作为字节流返回.熵池就是当前系统的环境噪音,熵指的是一个系统的混乱程度,系统噪音可以通过很多参数来评估,如内存的使用,文件的使用量,不同类型的进程数量等等.如果当前环境噪音变化的不是很剧烈或者当前环境噪音很小,比如刚开机的时候,而当前需要大量的随机比特,这时产生的随机数的随机效果就不是很好了. 这就…
docker+tomcat 启动时非常慢,一般正常启动几十秒的,发现docker+tomcat启动竟需要几分钟,不可思议 根本原因是 SecureRandom 这个 jre 的工具类的问题.那为什么 SecureRandom generateSeed 这么慢,甚至挂在 Linux 操作系统呢? Tomcat 7/8 都使用 org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom 类产生安全随机类 SecureRando…
一.  /dev/null /dev/null属于字符特殊文件,它属于空设备,是一个特殊的设备文件,它会丢弃一切写入其中的数据,写入它的内容都会永远丢失,而且没有任何可以读取的内容. 我们用file命令查看下,说明类型是字符特殊文件. [root@localhost ~]# file /dev/null /dev/null: character special 尝试读取 [root@localhost ~]# cat /dev/null 什么也读取不到,就像一个黑洞一样. 所以我们一般会把/de…
centos 阶段复习 2015-4-6  dd命令 hosts.allow和hosts.deny 啊铭的myssh脚本 清空history命令历史  /dev/zero 零发生器  /dev/null 黑洞   /dev/random 生成随机数  第十一节课 104道题 redhat 的源代码重新编译一下 变为了centosredhat收购了centos 分区大小 /boot 200MSWAP 2G <8G内核参数 swapness调整0 为什么系统仍然可能会有swap发生腾讯将swapne…
JRE默认使用 /dev/random作为随机数来源,当熵池大小不够的时候,random会很慢,造成随机数生成调用阻塞. 解决方案: 改用 /dev/urandom (1) tomcat的启动选项增加  -Djava.security.egd=file:/dev/urandom (2) 或者修改JRE的设置(例:/usr/java/jdk1.8.0_111/jre/lib/security/java.security) securerandom.source=file:/dev/urandom…
异步执行 exec("/alidata/server/php/bin/php /nas/wxdoctor/index.php App/Common/WordsPic/user_id/".$user_info['user_id']."/goods_id/".$goods_id."."/open_id/".$user_info['open_id']." > /dev/null 2>&1 &")…
在类Unix操作系统中,设备节点并不一定要对应物理设备.没有这种对应关系的设备被称之为伪设备.操作系统运用了它们实现多种多样的功能,/dev/null和/dev/zero就是这样的设备,类似的还有/dev/urandom./dev/tty等. 检查下/dev/null和/dev/zero两个文件的属性: [root@localhost ~]# ll /dev/null /dev/zero crw-rw-rw- 1 root root 1, 3 Nov 10 05:39 /dev/null crw…
转自:http://www.cnblogs.com/stephen-liu74/archive/2011/11/10/2240461.html Linux系统提供了两个对Shell编程非常有用的特殊文件,/dev/null和/dev/tty.其中/dev/null将会丢掉所有写入它的数据,换句换说,当程序将数据写入到此文件时,会认为它已经成功完成写入数据的操作,但实际上什么事都没有做.如果你需要的是命令的退出状态,而非它的输出,此功能会非常有用,见如下Shell代码:    /> vi test…
转自:http://www.cnblogs.com/xianghang123/archive/2012/03/23/2413381.html 使用/dev/null 把/dev/null 看作"黑 洞" . 它非常等价于一个只写文件. 所有写入它的内容都会永远丢失. 而尝试从它那儿读取内容则什么也读不到. 然而, /dev/null 对命令行和脚本都非常的有 用. 禁止标准输出 . 1 cat $filename >/dev/null 2 # 文件内容丢失,而不会输出到标准输出.…
在Linux操作系统中/dev/null和/dev/zero是两个相似却又很特殊的文件,特别是在shell脚本开发和系统运维过程中会经常用这两个文件,因此作为Linux系统工程师,必须了解这两个文件的区别和用法。 一、/dev/null的用法:我们可以把/dev/null文件看作”黑洞”,它非常等价于一个只写文件,所有写入/dev/null文件的内容都会丢失,而从/dev/null文件 中也读取不到任何内容。然而,也正因为这些特点,在shell脚本开发和命令行维护时,/dev/null文件就可大…
转自:http://blog.chinaunix.net/uid-20729677-id-765105.html dev/zero,是一个输入设备,你可你用它来初始化文件. /dev/zero------该设备无穷尽地提供0(是ASCII 0 就是NULL),可以使用任何你需要的数目——设备提供的要多的多.他可以用于向设备或文件写入NULL. 使用/dev/zero 像/dev/null一样, /dev/zero也是一个伪文件, 但它实际上产生连续不断的null的流(二进制的零流,而不是ASCI…
 打开3个bash会话窗口  [root@server1 fd]# cd /proc/7489/fd[root@server1 fd]# ll总用量 0lrwx------ 1 root root 64 6月 5 23:55 0 -> /dev/pts/2lrwx------ 1 root root 64 6月 5 23:55 1 -> /dev/pts/2lrwx------ 1 root root 64 6月 5 23:55 2 -> /dev/pts/2lrwx------ 1 r…
/dev,设备文件存储目录,应用程序通过对这些文件的读写和控制,可以访问实际的设备: /sys/devices目录,按照设备挂接的总线类型,组织成层次结构,保存了系统所有的设备:是文件系统管理设备的最重要的目录结构: 这是内核设备按总线类型分层放置的目录结构, devices 中的所有设备都是连接于某种总线之下,在这里的每一种具体总线之下可以 找到每一个具体设备的符号链接,它也是构成 Linux 统一设备模型的一部分: /sys/dev下有两个子目录,block和char,存放的是块设备和字符设…
1.概论 -- 来自维基的解释 /dev/null  : 在类Unix系统中,/dev/null,或称空设备,是一个特殊的设备文件,它丢弃一切写入其中的数据(但报告写入操作成功),读取它则会立即得到一个EOF.在程序员行话,尤其是Unix行话中,/dev/null 被称为位桶(bit bucket)或者黑洞(black hole).空设备通常被用于丢弃不需要的输出流,或作为用于输入流的空文件.当你读它的时候,它会提供无限的空字符(NULL, ASCII NUL, 0x00). 其中的一个典型用法…
/dev/null和/dev/zero的区别 /dev/null,外号叫无底洞,你可以向它输出任何数据,它通吃,并且不会撑着! /dev/zero,是一个输入设备,你可你用它来初始化文件.该设备无穷尽地提供0,可以使用任何你需要的数目——设备提供的要多的多.他可以用于向设备或文件写入字符串0. /dev/null——它是空设备,也称为位桶(bit bucket).任何写入它的输出都会被抛弃.如果不想让消息以标准输出显示或写入文件,那么可以将消息重定向到位桶. if=/dev/zero of=./…
默认情况下,总是有三个文件处于打开状态,标准输入(键盘输入).标准输出(输出到屏幕).标准错误(也是输出到屏幕),它们分别对应的文件描述符是0,1,2 .那么我们来看看下面的几种重定向方法的区别: >/dev/null 2>&1  //  实际上,应该等同于这样: 1>/dev/null 2>/dev/null ,默认情况下就是1,标准输出,所以一般都省略. 而&符号,后面接的是必须的文件描述符.不能写成2>1,这样就成了标准错误重定向到文件名为1的文件中了,…
/dev/null,外号叫无底洞,你可以向它输出任何数据,它通吃,并且不会撑着!/dev/zero,是一个输入设备,你可你用它来初始化文件. /dev/null------它是空设备,也称为位桶(bit bucket).任何写入它的输出都会被抛弃.如果不想让消息以标准输出显示或写入文件,那么可以将消息重定向到位桶./dev/zero------该设备无穷尽地提供0,可以使用任何你需要的数目——设备提供的要多的多.他可以用于向设备或文件写入字符串0. 使用/dev/null 把/dev/null看…
centos单用户 救援 运行级别  yum,单用户模式,救援模式,inittab :启动级别  e2fsck  wetty  mingetty  物理终端 /dev/console  虚拟终端 /dev/tty(0,6)  模拟终端 /dev/pts/# grub-md5-crypt  给grub加密码  initrd   第二节课 上半节课 yum centos6.6的内核 单用户模式 救援模式 给grub加密码 下半节课 Linux启动流程 inittab :启动级别 e2fsck wet…
ifeq语法是ifeq "<arg1>;" "<arg2>;"  ,功能是比较参数“arg1”和“arg2”的值是否相同,相同时为1 ifneq: ifneq "<arg1>;" "<arg2>;"  其比较参数“arg1”和“arg2”的值是否相同,如果不同,则为真. /dev/null:或称空设备,是一个特殊的设备文件,它丢弃一切写入其中的数据(但报告写入操作成功),读取它则…
转:http://www.crifan.com/linux_system_in__dev__mtd_and__dev__mtdblock_distinction_character_devices_and_block_devices_mtd_difference/ 1. /dev/mtdN 是Linux 中的MTD架构中,系统自己实现的mtd分区所对应的字符设备,其里面添加了一些ioctl,支持很多命令,如MEMGETINFO,MEMERASE等. 而mtd-util中的flash_erasea…
转自:http://blog.csdn.net/ppp2006/article/details/25654733 https://www.rfc1149.net/blog/2013/03/05/what-is-the-difference-between-devttyusbx-and-devttyacmx/ 理解为何有的USB串口叫ttyUSB而有的叫ttyACM 对于转换桥,功能较单一,归类为ttyUSB.驱动在drivers/usb/serial/usb-serial.c. 比如FDTI转换…
http://www.cnblogs.com/jacktu/archive/2010/06/28/1766791.html /dev/zero和/dev/null的区别   使用/dev/null 把/dev/null看作"黑洞". 它非常等价于一个只写文件. 所有写入它的内容都会永远丢失. 而尝试从它那儿读取内容则什么也读不到. 然而, /dev/null对命令行和脚本都非常的有用. 禁止标准输出.    1 cat $filename >/dev/null2 # 文件内容丢失…
经常会看到dd命令用到/dev/zero文件,这里总结一下/dev/null和/dev/zero的作用和使用实例. 在类Unix系统(包括Linux)中,/dev/null 它是空设备,也称为位桶(bit bucket)或者黑洞(black hole).你可以向它输入任何数据,但任何写入它的数据都会被抛弃.通常用于处理不需要的输出流.(当然,它也可以作为空的输入流) /dev/zero 该设备无穷尽地提供空字符(ASCII NUL, 0x00),可以使用任何你需要的数目.它通常用于向设备或文件写…