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)
  }
})()
推荐问题