相关疑难解决方法(0)

随机浮点数生成

如何在C++中生成随机浮点数?

我以为我可以把整数兰特除以某种东西,这足够了吗?

c++ random floating-point

260
推荐指数
7
解决办法
37万
查看次数

在javascript中保护随机数?

如何在javascript中生成加密安全随机数?

javascript cryptography

76
推荐指数
5
解决办法
4万
查看次数

使用crypto.generateValues()生成0到1的随机数

看起来Math.random()生成范围为[0,1)的64位浮点数,而新的crypto.getRandomValues()API仅返回整数.使用此API在[0,1)中生成数字的理想方法是什么?

这似乎有效,但似乎不是最理想的:

ints = new Uint32Array(2)
window.crypto.getRandomValues(ints)
return ints[0] / 0xffffffff * ints[1] / 0xffffffff
Run Code Online (Sandbox Code Playgroud)

编辑:澄清一下,我试图产生比Math.random()更好的结果.根据我对浮点的理解,应该可以获得52位随机性的完全随机分数.(?)

编辑2:为了给出更多背景知识,我不是要尝试以密码方式安全做任何事情,但有很多关于Math.random()实施不当的轶事故事(例如http://devoluk.com/google-chrome -math-random-issue.html)所以如果有更好的选择,我想使用它.

javascript random

6
推荐指数
1
解决办法
1249
查看次数

这是一种在Node JS中生成随机数的加密安全方法吗?

这是我尝试用我自己的Cryptography.random()替换Math.random().我的代码是否会生成加密安全的随机数,您是否看到了优化的机会?

NodeCrypto = require('crypto');

Cryptography = function() {
}

Cryptography.random = Promise.method(function() {
    return new Promise(function(resolve, reject) {
        NodeCrypto.randomBytes(4, function(ex, buffer) {
            var hex = buffer.toString('hex');
            var integer = parseInt(hex, 16);
            var random = Number('0.'+integer);

            resolve(random);
            return random;
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

random cryptography node.js

1
推荐指数
1
解决办法
2075
查看次数

标签 统计

random ×3

cryptography ×2

javascript ×2

c++ ×1

floating-point ×1

node.js ×1