在日常生活中,随机数实际上经常遇到,想丢骰子,抓阄,还有抽签。呵呵,非常简单就可以实现。那么在做程序设计,真的要通过自己程序设计出随机数那还真的不简单了。现在很多都是操作系统内核会提供相应的api,这些原始参数是获取一些计算机运行原始信息,如内存,电压,物理信号等等,它的值在一个时间段可以保证是唯一的了。好了,废话我就不说了。呵呵。 shell脚本程序我们有那些获得随机数方法呢? 一、通过时间获得随机数(...
我必须衡量/ dev / urandom的效率.我有以下任务:检查1分钟内可以从/ dev / urandom获得多少字节的数据.不要将获取的数据写到磁盘上,因为这可能会减慢一切.
我试过了timeout 60s cat /dev/urandom | wc -c但是我收到的只是“已终止”消息.解决方法:添加–foreground选项:timeout --foreground 60s cat /dev/urandom | wc -c--foreground: when not running timeout directly from a shell prompt, allow COMMAND to read from the...
参见英文答案 > Why does dd from /dev/random give different file sizes? 4个我想通过dd命令创建随机的1G测试文件.dd status=progress if=/dev/zero of=/tmp/testfile.zer bs=100M count=10
dd status=progress if=/dev/urandom of=/tmp/testfile1.ran bs=100M count=10
dd status=progress if=/dev/urandom of=/tmp/testfile2.ran bs=100M count=20输出是:-rw-rw-r-- 1 dorinand dorinand ...
通常从/ dev / random读取产生100-500个字节和块,等待收集熵.
为什么不通过其他进程将信息写入/ dev / random加速读取?它不应该提供所需的熵吗?
它可以用于解锁gpg或类似软件而无需重新启动它并重新输入所有内容,用于生成非超级密钥等.解决方法:您可以写入/ dev / random,因为它是向/ dev / random提供额外随机字节的方式的一部分,但这还不够,您还必须通过ioctl()调用通知系统有额外的熵.
我需要相同的功能来测试我的smartcard s...
我最近有一个错误,当我的linux服务器上的熵太低而且/ dev / urandom的读取返回少于预期的字节数时,我没有正确处理.
如何通过测试重新创建?有没有办法降低系统上的熵或可靠地清空/ dev / urandom?
我希望能够进行回归测试以验证我的修复.我正在使用Ubuntu 12.04.解决方法:根据random(4)手册页,read from the /dev/urandom device will not block如果你想阻止它,你应该从/ dev / random(没有任何u)读取很多字节. (有多少是硬件和系...
我知道bash函数$RANDOM会在一个范围内生成随机整数,但是,这些数字应该遵循(或近似)一个统一的离散分布吗?解决方法:我只打印了$RANDOM一百万次,把它变成直方图,并用gnumeric查看它,图表显示了非常正态的分布!for n in `seq 1 1000000`; do echo $RANDOM ; done > random.txt
gawk '{b=int($1/100);a[b]++};END{for (n in a) {print n","a[n]}}' random.txt > hist.csv
gnumeric hist.csv因此,如果您想要近似线性分布,请使用$(($RA...
我试图在chrooted环境中运行程序,它需要/ dev / random作为资源.手动我可以做ls -l然后用mknod c xx yy再次创建文件,但是我需要让它自动化,我不认为这些版本号从linux版本到另一个是不变的,所以这就是为什么我有以下问题:
我怎么能写一个bash脚本来提取/ dev / random的次要和主要数字并将它与mknod一起使用?我可以使用ls -l但我不知道如何提取它的子串…
ls -l / dev / random的确切返回是:crw-rw-rw- 1 root root MINOR, MAJO...
我正在创建一个pastebin app,我希望粘贴的ID真正随机. Linux上的/ dev / random(托管在Linux机器上)使用噪声,因此它的输出是真正随机的.
目前我使用此代码生成ID:self.guid = Digest::SHA1.hexdigest(Time.new.to_s + (0...50).map{ ('a'..'z').to_a[rand(26)] }.join)Ruby的rand函数是否使用/ dev / random,如果不是,我如何在Ruby中使用/ dev / random?谢谢.解决方法:难道documented SecureRandom(ruby 1.9.2中的标准库)使用Ope...
使用Linux 3.2,我想使用/ dev / urandom实现UID算法.
可能有两次读取16个随机字节,并获得相同的结果.但机会小到可以忽略不计吗?解决方法:/ dev / urandom应该是一个随机设备,应该看起来是随机的,并且在一个随机的序列中,你会期望找到重复的模式.然而,由于存在2128个可能的16字节序列,这应该以概率2-128发生,这很小.
也就是说,/ dev / urandom不知道是加密安全的,并且可能存在不在公开文献中的攻击以迫使行为退化(例如,某些政府机构...
以下调用快速返回:time dd if=/dev/random bs=1024 count=1
.... 0+1 records in
0+1 records out
49 bytes (49 B) copied, 0.000134028 s, 366 kB/sreal 0m0.004s
user 0m0.001s
sys 0m0.002s但是,如果/ dev / random被一个接一个地读取:for i in {1..500}; do dd if=/dev/random bs=1 count=1 status=none; done循环读取几个字节,然后阻塞几秒钟,然后读取另外几个字节.在键盘上键入随机字符可以大大加快这个过程,就像...
我遇到了这个问题,我很困惑.
我在linux启动过程的最开始时在bash中使用$RANDOM作为测试字符串.非常有趣的是,我观察到每次linux启动时$RANDOM都是一样的.就我而言,它是18869年.
我只是将$RANDOM回显到一个文件.我在每次启动时都观察到相同的数字.在此之后,$RANDOM似乎返回“真实”随机数.echo "$RANDOM is a test string" >> /tmp/test任何人都可以解释这个原因吗?解决方法:这是Bash 4.2源代码中variables.c的初始种子算法:static...
我想编写一个功能测试用例,用于测试具有已知随机数值的程序.我已经在单元测试期间用模拟测试了它.但我也想进行功能测试(当然不是全部)
只有一个进程覆盖/ dev / urandom的最简单方法是什么?有没有办法为一个文件做一个像chroot的东西,让所有其他人’通过’?解决方法:如果您的系统足够新(例如RHEL 7)并支持setns系统调用,则可以在mount命名空间的帮助下完成.需要root访问权限.
我们的想法是为进程创建一个单独的挂载命名空间,并在...