我想为DH私钥生成512位整数。我环顾四周,但找不到任何显示生成特定长度随机整数的javascript资源
答案 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)
);