`
shihuan830619
  • 浏览: 574113 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JDK中的随机数机制探究

阅读更多
    今天有同事问起关于JDK1.8中默认是random问题。
    JDK1.8中的java security默认变成random了,JDK1.6和JDK1.7中的java security默认是urandom。

    这里就详细探究一下JDK中random与urandom的关系。
    首先:random是阻塞机制的,urandom是非阻塞机制的。
    其次:urandom最终是调用random的。
    最后:random的实现机制是收集操作系统的动态指标并形成UltraTree,UltraTree分支越深越复杂random形成的就越快。

    根据上面的三点可以看出,random本身可以生成随机数,但需要操作系统的CPU、Memory、Disk比较忙碌的情况下才会快,否则就需要用urandom这种非阻塞机制函数来生成随机数。

    如果非得用random来生成随机数,就要不停的移动鼠标来形成UltraTree。

    笔者这里说一个实例,有朋友用Putty生成过安全key吗?在生成的过程中要把鼠标放到空白区域不停的滑动才会生成的快,这个原理也是在收集系统的UltraTree指标。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics