javascript - Javascript:生成n位的随机整数
问题描述
我想为 DH 私钥生成一个 512 位整数。我环顾四周,但找不到任何显示生成特定长度的随机整数的 javascript 资源
解决方案
如此处所示生成 16 个随机 32UInt 怎么样。从理论上讲,如果您希望将所有数字放在一起,则可以执行以下操作:
randomNumber = generatedArray.map((partialResult, value) => (partialResult << 32) + value));
但是,请注意 javascriptMAX_SAFE_INTEGER
只有 53 位长。
编辑
正如@SamMason 评论的那样,它应该reduce
代替map
. 此外,由于位移运算符仅定义为适用于 32 位值,我们可以乘以2^32
:
randomNumber = generatedArray.reduce(
(partialResult, value) => partialResult * Math.pow(2,32) + value)
);
推荐阅读
- javascript - 如何在离子中设置离子警报标题
- sql - 了解 ODBC SQL 语法 - 需要目录示例
- javascript - Nuxt 需要未找到资产中的图像
- html - 是否可以在不托管的情况下共享网站?
- node.js - 为什么护照给我一个空的错误?
- git - 为什么在 Windows 和 Linux 机器之间复制 repo 后 Git 会指示更改?
- python - 即使我安装了directml(我在amd上),为什么我的VSCode仍试图使用cuda?
- php - 从上周的星期日开始的第 2 周星期一。如何?
- javascript - 单击左箭头或右箭头以切换数组中的元素与左侧或右侧的元素 React
- python - Python Bokeh Plot 不显示垂直区域堆栈