Chrome 修复 JS 引擎随机数没那么随机的问题 - 开源中国社区
Chrome 修复 JS 引擎随机数没那么随机的问题
oschina 2015年12月18日

Chrome 修复 JS 引擎随机数没那么随机的问题

oschina oschina 发布于2015年12月18日 收藏 13 评论 14

腾讯云 十分钟定制你的第一个小程序>>>  

在过去几年里,许多人研究都发现Chrome浏览器的V8 JavaScript引擎在用Math.random()函数的时候返回的随机数没有那么随机。今天这个问题已经解决了,即在最新版的Chrome 49中——很快这个版本就会发布。Math.random()是在JavaScript中达成随机性的最常用的方式,这对许多web应用而言是比较重要的组成部分。先前的研究显示,其实在V8引擎中没那么随机。

http://static.cnbetacdn.com/article/2015/1218/d87ab272795ad76.png

为了修复这个BUG,谷歌采用新的随机数生成器名为xorshift128+,它修复了先前MWC1616算法没那么随机的问题。

xorshift128+的随机数是真正随机的,而且在性能方面也有很大的提升,但不具备加密的安全性,所以不应该用来做GUID或者其他安全哈希。

谷歌自己对于这个问题的修复也是挺高兴的,而且还鼓励人们能多提交这样的问题。

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:Chrome 修复 JS 引擎随机数没那么随机的问题
分享
评论(14)
最新评论
0
chrome history历史显示不全,但如果用搜索的话却能搜索到。
我前几天浏览一个网址,后来忘记了,在历史记录里查找,虽然我不记得名字和网址,但是如果看见他,我还是能认出他。但是不管怎么努力,翻来覆去就是找不到,最后靠书签找到了(我加入了书签),反过来再历史纪录里搜索却能找到,但是只显示日期,不显示具体时间,让我非常难受,为什么明明有记录为什么不显示?

除此之外,在地址栏里输入网址的历史纪录同样让人很不愉快,输入一次错误的网址后,下次输入正确的网址,再然后输入总是提示错误的网址,尽管和正确的网址更接近,仍旧显示错误的网址,而且仅仅只有两到三个地址,就算提示的不准确,你全部显示也可以啊,简直是故意和我作对一样。
0
真正随机是什么意思?字典上能查到吗
0

引用来自“Big Head”的评论

世界上貌似并没有真正随机的随机数算法吧?

引用来自“开源中国首席骨科主任”的评论

你本身就是一个随机数。

引用来自“G_Young”的评论

我邪恶的笑了一下。

引用来自“AngusXer”的评论

笑了
笑了
0
Hello World
0
Hello World
0

引用来自“Big Head”的评论

世界上貌似并没有真正随机的随机数算法吧?

引用来自“开源中国首席骨科主任”的评论

你本身就是一个随机数。

引用来自“G_Young”的评论

我邪恶的笑了一下。
笑了
0

引用来自“Big Head”的评论

世界上貌似并没有真正随机的随机数算法吧?

引用来自“开源中国首席骨科主任”的评论

你本身就是一个随机数。
我邪恶的笑了一下。
0

引用来自“Big Head”的评论

世界上貌似并没有真正随机的随机数算法吧?
你本身就是一个随机数。
0

引用来自“Big Head”的评论

世界上貌似并没有真正随机的随机数算法吧?
理解成“很像真随机的伪随机”就行了
0
什么思路?
0
从分布上看,确实变随机了。
0
世界上貌似并没有真正随机的随机数算法吧?
0
xorshift128+的随机数是真正随机的?
0
不知道nodejs 啥时候更新!
顶部