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

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

在过去几年里,许多人研究都发现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

SmallFish
SmallFish
真正随机是什么意思?字典上能查到吗
开源中国水军都督
开源中国水军都督

引用来自“Big Head”的评论

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

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

你本身就是一个随机数。

引用来自“G_Young”的评论

我邪恶的笑了一下。

引用来自“AngusXer”的评论

笑了
笑了
开源中国红薯批发商
开源中国红薯批发商

引用来自“Big Head”的评论

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

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

你本身就是一个随机数。

引用来自“G_Young”的评论

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

引用来自“Big Head”的评论

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

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

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

引用来自“Big Head”的评论

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

引用来自“Big Head”的评论

世界上貌似并没有真正随机的随机数算法吧?
理解成“很像真随机的伪随机”就行了
wffger
wffger
什么思路?
返回顶部
顶部