Javascript:生成n位随机整数

时间:2020-06-11 16:43:30

标签: javascript random cryptography

我想为DH私钥生成512位整数。我环顾四周,但找不到任何显示生成特定长度随机整数的javascript资源

1 个答案:

答案 0 :(得分:1)

如何生成16个随机的32UInt,如here所示。从理论上讲,如果您希望将所有数字都组合在一起,则可以执行以下操作:

randomNumber = generatedArray.map((partialResult, value) => (partialResult << 32) + value));

但是,请注意,javascript MAX_SAFE_INTEGER只有53位长。

编辑

正如@SamMason所说,它应该是reduce而不是map。此外,由于仅将移位运算符定义为适用于32位值,因此我们可以乘以2^32

randomNumber = generatedArray.reduce(
    (partialResult, value) => partialResult * Math.pow(2,32) + value)
);
相关问题