/dev/urandom则是一个非阻塞的发生器:

dev/random的一个副本是/dev/urandom (”unlocked”,非阻塞的随机数发生器),它会重复使用熵池中的数据以产生伪随机数据。这表示对/dev/urandom的读取操作不会产生阻塞,但其输出的熵可能小于/dev/random的。它可以作为生成较低强度密码的伪随机数生成器,不建议用于生成高强度长期密码。

另外wiki里也提到了为什么linux内核里的随机数生成器采用SHA1散列算法而非加密算法,是为了避开法律风险(密码出口限制)。

回到tomcat文档里的建议,采用非阻塞的熵源(entropy source),通过java系统属性来设置:

-Djava.security.egd=file:/dev/./urandom

这个系统属性egd表示熵收集守护进程(entropy gathering daemon),但这里值为何要在devrandom之间加一个点呢?是因为一个jdk的bug,在这个bug的连接里有人反馈及时对 securerandom.source 设置为/dev/urandom它也仍然使用的/dev/random,有人提供了变通的解决方法,其中一个变通的做法是对securerandom.source设置为/dev/./urandom才行。也有人评论说这个不是bug,是有意为之。

/dev/urandom相关推荐

  1. linux dev urandom,Linux random vs urandom 区别

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? /dev/random In Unix-like operating systems, /dev/random is a ...

  2. 查看linux设备Ran的大小,linux – 来自/ dev / zero和/ dev / urandom的不同文件大小

    dd status=progress if=/dev/zero of=/tmp/testfile.zer bs=100M count=10 dd status=progress if=/dev/ura ...

  3. java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar

    1 $JAVA_OPTS 原文链接:链接:https://www.jianshu.com/p/147422fca01b 我们知道,对于 tomcat 来说,设置 JAVA_OPTS 就可以给 jvm ...

  4. 探秘Linux特殊设备文件:(/dev/null,/dev/zero,/dev/random,/dev/urandom等)

    目录标题 第一章:设备文件简介(Introduction to Device Files) 1.1 设备文件概述(Overview of Device Files) 1.2 设备文件类型(Types ...

  5. Linux命令解读(一):head -n 80 /dev/urandom | tr -dc A-Za-z0-9 | head -c 22

    head -n 80 /dev/urandom | tr -dc A-Za-z0-9 | head -c 22 (该命令是针对: 微信小程序登录 生成 3rd_session 的命令, 官方推荐 3r ...

  6. [转帖]关于 /dev/urandom 的流言终结 | Linux 中国

    关于 /dev/urandom 的流言终结 | Linux 中国 2019年05月05日 14:03:52 技术无边 阅读数 202 版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权 ...

  7. 关于 /dev/urandom 的流言终结

    有很多关于 /dev/urandom 和 /dev/random 的流言在坊间不断流传.然而流言终究是流言. 本篇文章里针对的都是近来的 Linux 操作系统,其它类 Unix 操作系统不在讨论范围内 ...

  8. -Djava.security.egd=file:/dev/./urandom参数的作用

    使用方法: 1.将$JAVA_HOME/jre/lib/security/Java.security内,将securerandom.source的内容改为file:/dev/./urandom即可 2 ...

  9. /dev/random和/dev/urandom

    /dev/random和/dev/urandom是unix系统提供的产生随机数的设备,很多应用都需要使用random设备提供的随机数,比如ssh keys, SSL keys, TCP/IP sequ ...

最新文章

  1. android banner阴影,仿照锤子科技官网的banner 3d效果
  2. zigbee看门狗综合实验_2.5KW风光互补发电教学实验系统,风能太阳能发电实训装置_搜狐汽车...
  3. Python爬虫开发:requests库的使用--ip代理参数的设置
  4. C# 温故知新 基础篇(7) 接口思维导图
  5. CDATA和转义字符
  6. postgresql - mac 启动 关闭 postgresql
  7. Leetcode 335. 路径交叉(Self Crossing)
  8. 第7节 简单抓包实验及帧结构分析——基于科来网络分析系统
  9. 怎么用python编写个apk_python自动安装apk文件
  10. web处理html标记,web前端学习-----HTML标记
  11. 客户关系管理系统的三个不同阶段
  12. 让机器耳濡目染:MIT提出跨模态机器学习模型
  13. C语言每日一练——第85天:三色球问题
  14. UEBA架构设计之路3:复杂事件处理引擎
  15. Xposed 模块开发入门
  16. Satellite7 v2.4 WordPress扁平化风格主题
  17. 作为一本书,“卷”赢竞争对手的最佳姿势是?
  18. 2019年高新企业申报苏州企业财务工作部署重点
  19. 定积分求解方法——分步积分法
  20. 三不妥协 领克09混动远航版如何打开中国品牌向上进阶的新边界

热门文章

  1. 当Docker遇到Intellij IDEA,再次解放了生产力~
  2. 面试官:Java 到底是值传递还是引用传递?
  3. Spring AOP 增强框架 Nepxion Matrix 详解
  4. 京东 | AI人才联合培养计划!
  5. 谈谈计算机行业的秋招和春招
  6. GitHub 2021年度报告发布:中国755万开发者排名全球第二!
  7. NLP任务非Transformer不可?
  8. 聊一聊今年实例分割领域的进展和未来展望
  9. 中国 83 所高校上榜,清华位列第 15!QS 2021 年世界大学排名出炉
  10. 用Python分析深圳程序员工资有多高?