我正在尝试使用 JavaScript 创建一个指数随机数生成器,它使用以前StackOverflow答案中的方法工作。:
function randomNumGen() {
var u = Math.random();
var mu = 0.3;
return -Math.log(1.0 - u) / mu;
}
但是,我后来发现 using在另一个StackOverflow答案Math.random()
中并不是加密安全的。但是,我不完全确定它在我的情况下是否是加密安全的,因为它使用针对指数分布的均匀随机性来制作样本,但我认为它不安全。u
在第二个站点中,它推荐了其他库,但是它们使用不同的分布,而不是指数分布。我想我不能简单地Math.random()
用他们的替换(例如window.crypto.getRandomValues),因为它不是统一的。
关于我能做什么的任何见解?