如何将随机字节转换为整数范围?
我试图通过从crypto.randomBytes()读取范围内的随机整数。
现在,我的问题是,我不知道如何从字节stream中读取整数。 我认为生成一个范围只是一个“丢掉”不在范围内的整数。
有任何想法吗?
您可以从crypto.randomBytes
获得一个32位整数,下面的代码。 如果你需要多于一个,你可以从crypto.randomBytes
请求更多的字节,然后使用substr
分别select和转换每个整数。
crypto.randomBytes(4, function(ex, buf) { var hex = buf.toString('hex'); var myInt32 = parseInt(hex, 16); });
话虽如此,你可能只想使用Math.floor(Math.random() * maxInteger)