关于 /dev/urandom 的流言终结 | Linux 中国 2019年05月05日 14:03:52 技术无边 阅读数 202   版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/F8qG7f9YD02Pe/article/details/89880266 有很多关于 /dev/urandom 和 /dev/random 的流言在坊间不断流传.然而流言终究是流言.-- Thomas…
1.  基本介绍 /dev/random和/dev/urandom是Linux系统中提供的随机伪设备,这两个设备的任务,是提供永不为空的随机字节数据流.很多解密程序与安全应用程序(如SSH Keys,SSL Keys等)需要它们提供的随机数据流. 这两个设备的差异在于:/dev/random的random pool依赖于系统中断,因此在系统的中断数不足时,/dev/random设备会一直封锁,尝试读取的进程就会进入等待状态,直到系统的中断数充分够用, /dev/random设备可以保证数据的随机…
Linux中的随机数可以从两个特殊的文件中产生,一个是/dev/urandom.另外一个是/dev/random.他们产生随机数的原理是利用当前系统的熵池来计算出固定一定数量的随机比特,然后将这些比特作为字节流返回.熵池就是当前系统的环境噪音,熵指的是一个系统的混乱程度,系统噪音可以通过很多参数来评估,如内存的使用,文件的使用量,不同类型的进程数量等等.如果当前环境噪音变化的不是很剧烈或者当前环境噪音很小,比如刚开机的时候,而当前需要大量的随机比特,这时产生的随机数的随机效果就不是很好了. 这就…
1.  基本介绍 /dev/random和/dev/urandom是Linux系统中提供的随机伪设备,这两个设备的任务,是提供永不为空的随机字节数据流.很多解密程序与安全应用程序(如SSH Keys,SSL Keys等)需要它们提供的随机数据流. 这两个设备的差异在于:/dev/random的random pool依赖于系统中断,因此在系统的中断数不足时,/dev/random设备会一直封锁,尝试读取的进程就会进入等待状态,直到系统的中断数充分够用, /dev/random设备可以保证数据的随机…
/dev/urandom则是一个非阻塞的发生器: dev/random的一个副本是/dev/urandom (”unlocked”,非阻塞的随机数发生器),它会重复使用熵池中的数据以产生伪随机数据.这表示对/dev/urandom的读取操作不会产生阻塞,但其输出的熵可能小于/dev/random的.它可以作为生成较低强度密码的伪随机数生成器,不建议用于生成高强度长期密码. 另外wiki里也提到了为什么linux内核里的随机数生成器采用SHA1散列算法而非加密算法,是为了避开法律风险(密码出口限制…
在使用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…
需求说明: 今天在调试SVN的时候,需要创建用户的随机密码,想了下,在linux环境中是否能够生成呢,就搜索了下, 然后结合看到的帖子,分析一个可以生成密码的命令,在此记录下. 操作过程: 1.通过/dev/urandom工具生成随机密码 [root@testvm01 ~]# cat /dev/urandom | tr -dc a-zA-Z0-9#@ | head -c 13;echo OjX3Nst381U@R [root@testvm01 ~]# cat /dev/urandom | tr…
1:/dev/urandom和/dev/random是什么 这两个文件记录Linux下的熵池,所谓熵池就是当前系统下的环境噪音,描述了一个系统的混乱程度,环境噪音由这几个方面组成,如内存的使用,文件的使用量,不同类型的进程数量等等,刚开机的时候系统噪音会较小.在这两个设备的差异在于:/dev/random的random pool依赖于系统中断,因此在系统的中断数不足时,/dev/random设备会一直封锁,尝试读取的进程就会进入等待状态,直到系统的中断数充分够用, /dev/random设备可以…
SecureRandom在java各种组件中使用广泛,可以可靠的产生随机数.但在大量产生随机数的场景下,性能会较低. 这时可以使用"-Djava.security.egd=file:/dev/./urandom" 加快随机数产生过程. http://blog.51cto.com/leo01/1795447…
#include<stdio.h> #include<iostream> #include <fcntl.h> #include <sys/mman.h> using namespace std; int main(int argc,char* argv[]) { ssize_t bytesToWrite = **; const char *pathZero = "/dev/zero"; int fdZero = open(pathZer…
1.  基本介绍 /dev/random和/dev/urandom是Linux系统中提供的随机伪设备,这两个设备的任务,是提供永不为空的随机字节数据流.很多解密程序与安全应用程序(如SSH Keys,SSL Keys等)需要它们提供的随机数据流. 这两个设备的差异在于:/dev/random的random pool依赖于系统中断,因此在系统的中断数不足时,/dev/random设备会一直封锁,尝试读取的进程就会进入等待状态,直到系统的中断数充分够用, /dev/random设备可以保证数据的随机…
JAVA_OPTS="$JAVA_OPTS -Djava.security.egd=file:/dev/./urandom" /dev/urandom   /dev/urandom则是一个非阻塞的发生器: dev/random的一个副本是/dev/urandom (”unlocked”,非阻塞的随机数发生器),它会重复使用熵池中的数据以产生伪随机数据.这表示对/dev/urandom的读取操作不会产生阻塞,但其输出的熵可能小于/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…
Linux /dev目录详解(转http://blog.csdn.net/maopig/article/details/7195048) 在linux下,/dev目录是很重要的,各种设备都在下面.下面简单总结一下: dev是设备(device)的英文缩写./dev这个目录对所有的用户都十分重要.因为在这个目录中包含了所有Linux系统中使用的外部设备.但是这里并不是放的外部设备的驱动程序,这一点和windows,dos操作系统不一样.它实际上是一个访问这些外部设备的端口.我们可以非常方便地去访问…
Windows 7时代即将终结:曾有多辉煌 如今就有多凄凉 投递人 itwriter 发布于 2019-01-18 10:47 评论(4) 有834人阅读 [收藏] « » 文/屠敏 来源:CSDN(ID:CSDNnews) 曾有多么辉煌,如今就有多么凄凉.曾经的 Windows XP 如此,现在的 Windows 7 如此,未来的 Windows10 更会如此. 2009 年诞生的 Windows 7 终究没能超过 Windows XP13 岁的寿命. 2015 年 1 月 14 日,微软宣布…
/dev/null 是一个特殊的设备文件,它丢弃一切写入其中的数据 可以将它 视为一个黑洞, 它等效于只写文件, 写入其中的所有内容都会消失, 尝试从中读取或输出不会有任何结果,同样,/dev/null 在命令行和脚本中都非常有用 用途 /dev/null 通常被用于丢弃不需要的输出流,或作为用于输入流的空文件,这些操作通常由重定向完成,任何你想丢弃的数据都可以写入其中 丢弃标准输出 在写shell脚本的时候,只想通过命令的结果执行后面的逻辑,而不想命令执行过程中有一大堆中间结果输出,这时候可以…
本文转自迅为论坛:http://www.topeetboard.com 最小linux系统的存储空间修改以修改成 1G 存储空间为例来修改,如果需要改成其他大小的存储空间,参照此方法修改即可. 首先连接好 iTOP-4412 开发板的调试串口到 pc 上,在 pc 的 windows 系统下打开串口 调试工具.开发板上电,在串口调试工具里按任意 pc 键盘的任意按键使开发板进入 uboot 命令行模式,如下图所示: 然后在 uboot 输入分区命令:“fdisk -c 0 1024 300 30…
C语言计算时间函数 & 理解linux time命令的输出中“real”“user”“sys”的真正含义 https://blog.csdn.net/willyang519/article/details/8841208 中午看了下公众号 发现一个 计算命令执行时间的方法.. time comand.sh 就可以 之前还是自己 捯饬了一个计算realtime 的方法..感觉自己好笨..   在完成编译原理的实验时,想比较用链表和哈希表共同执行一段程序的时间是否有差异,最开始使用函数如下: mai…
random随机数库 C++11引入了新的随机数生成机制,那就是<random>随机数库,支持多种伪随机数生成算法,多种连续和离散随机数分布算法,以及封装了真正的随机数生成引擎random_device.对于写随机数相关的程序来说实在是太香了. 随机数生成引擎和随机数分布引擎 随机数生成引擎(Generator):用于生成标准分布的随机数序列 随机数分布引擎(Distribution):对随机数生成引擎生成的随机数进行处理,使得最终输出的随机数满足特定的分布 伪随机数生成引擎比较 一般情况就用…
JDK+Tomcat+Zookeeper+DubboAdmin安装教程 1. 安装内容: JDK 1.8.131 Tomcat 7.0.77 Zookeeper 3.4.9 Dubbo admin 2.5.4-SNAPSHOT 2. 安装步骤: 2.1 JDK的安装 1. jdk安装 rpm包: rpm -ivh /home/test/download/jdk-8u131-linux-x64.rpm 生成链接以便版本升级 ln -s jdk1.8.0_131 latest ln -s lates…
转载地址:https://www.cnblogs.com/youxin/p/8793554.html 使用方式: JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djava.security.egd=file:/dev/urandom -server -Xms1024m -Xmx1024m -XX:NewSize=512m -XX:MaxNewSize=512m -XX:PermSize=512m -XX:MaxPermSiz…
问题原因 随机数引起线程阻塞. tomcat不断启动,关闭, 启动关闭.几次后会出现卡死状况.需很久才能加载完成 阿里云同样配置,同样系统,则很难出现卡死状况.  即使出现过几十秒后也会释放出来. 而腾讯云 ubuntu 不会 腾讯云的 centos不知道. 解决办法 tomcat  bin/  catalina.sh  中加入  JAVA_OPTS="$JAVA_OPTS -Djava.security.egd=file:/dev/./urandom" 指定java 采用linux…
每次重启自己的服务tomcat都需要卡住很长时间,每次都是日志停在 Root WebApplicationContext: initialization completed in 744 ms这个地方,然后也不知道发生了什么,在等待 什么,网上看到了一篇博文,mark下 问题现象 美女同事找我解决一个问题,说Tomcat启动很慢.开始我以为是程序写的问题,所以把webapps下所有程序都删除掉.(只保留Tomcat自带)灵异的事情发生了,Tomcat停止在—— 我查看了一下进程,Tomcat所在…
Linux系统/dev/mapper目录浅谈   Linux系统的一般的文件系统名称类似于/dev/sda1或/dev/hda1,但是今天在进行系统维护的时候,利用df -h 命令敲出了/dev/mapper/VolGroup-lv_root和/dev/mapper/Volume-lv_home两个文件系统名,不解,在网上查找资料后,在此浅谈/dev/mapper目录. 一.理解Linux系统的Device mapper机制 Device mapper是Linux2.6内核中提供的一种从逻辑设备…
目录 . /proc简介 . 内核机制相关 . 进程信息 . 硬件设备相关 . 系统信息 . /dev简介 . 内存相关 1. /proc简介 在linux的根目录下有一个/proc目录,/proc文件系统是一个虚拟文件系统,通过它可以使用一种新的方法在Linux内核空间和用户空间之间进行通信.在/proc文件系统中,我们可以将对虚拟文件的读写作为与内核中实体进行通信的一种手段,但是与普通文件不同的是,这些虚拟文件的内容都是动态创建的(即在我们执行指令的那一刹那才产生的) /proc文件系统包含…
相信用过Linux的童鞋们都用过crontab来做定时任务,不需要额外的安装程序和配置,一条简单的语句搞定定时任务,但是小伙伴们发现了没,如果你的定时任务执行频率很高而且会产生大量的输出的话,你的老爷机就会逐渐衰弱,最终崩溃,吼吼,因为任务执行过程中产生的输出已经把你的内存吃光了. 怎么办呢? Linux中有个目录叫做“dev”,这个词是“device”的缩写,意思为“设备”,这个目录中包含所有Linux系统中使用的外部设备,我们都知道,Linux中设备都是被当作文件对待的,所以这个目录下面都是…
http://blog.sina.com.cn/s/blog_8b5bb24f01016y3o.html 一.dd命令的解释 dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512:c=1:k=1024:w=2 参数注释: 1. if=文件名:输入文件名,缺省为标准输入.即指定源文件.< if=input file > 2. of=文件名:输出文件名,缺省为标准输出.即指定目的文件.< of=output fi…
docker+tomcat 启动时非常慢,一般正常启动几十秒的,发现docker+tomcat启动竟需要几分钟,不可思议 根本原因是 SecureRandom 这个 jre 的工具类的问题.那为什么 SecureRandom generateSeed 这么慢,甚至挂在 Linux 操作系统呢? Tomcat 7/8 都使用 org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom 类产生安全随机类 SecureRando…
分布式Unique ID的生成方法一览 http://www.importnew.com/22211.html 分布式的Unique ID的用途如此广泛,从业务对象Id到日志的TraceId,本文总结了林林总总的各种生成算法. 1. 发号器 我接触的最早的Unique ID,就是Oracle的自增ID. 特点是准连续的自增数字,为什么说是准连续?因为性能考虑,每个Client一次会领20个ID回去慢慢用,用完了再来拿.另一个Client过来,拿的就是另外20个ID了. 新浪微博里,Tim用Red…
今天遇到一个问题,在执行某些操作后,发现经常报“read_urandom: /dev/urandom: open failed: No such file or directory”这个错误.后来查看/dev,发现/dev下的设备都不见了,查看日记记录发现.我误操作在没有解挂临时dev时,就删除了临时目录.我做了如下操作: mkdir /home/tmp/dev mount --bind /dev /home/tmp/dev rm -rf /home/tmp 在没有解挂临时dev时,我就删除了t…