JS不用Math.random()的情况下,生成0-1随机数的方法。

新手上路,请多包涵

由于Fortify扫描报告称Math.random()不安全,想用一个方法来替换Math.random()函数,而且不能使用es6方法,有没有好一点的办法?

阅读 6k
3 个回答

return +('0.'+(+new Date()+'').split('').reverse().join(''))

知乎找的,具体原理我也不太清除

var rand = (function(){
  var seed = (new Date()).getTime()
  function r(){
    seed = (seed*9301+49297)%233280
    return seed/(233280.0)
  }
  return function(number){
    return Math.ceil(r()*number)
  }
})()
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题