javascript - 如何将 ArrayBuffer 的特定范围设置为随机数?
问题描述
我想将16 字节的前29ArrayBuffer
位设置为 range 中的随机值,[0, 2^28 - 1]
与系统字节序无关。
以下是我的尝试,但这(可能)设置了所有32 位。我能做些什么?有没有办法做类似的事情randomNumberHere & 0x1FFFFFFF
?
let buffer = new ArrayBuffer(16);
let view = new Uint32Array(buffer.slice(0, 4));
window.crypto.getRandomValues(view);
解决方案
您可以在 ArrayBuffer 上使用按位操作数
buffer & 0xE0000000 ^ window.crypto.getRandomValues(view) & 0x1FFFFFFF
推荐阅读
- javascript - heatmap.js 在 Microsoft Edge 中显示无色圆圈
- json - 有没有办法用正则表达式解析 json,具有循环性?
- mysql - 如何根据时间戳耦合同一张表中的数据点?
- c++ - 如何理解代码中的以下宏
- javascript - Vuex this.$store 在“挂载”生命周期钩子中未定义
- javascript - 基于对象值的火灾事件
- excel - 如何使用 VBA 选择不同工作表上列中的第一个空单元格
- python - 是否有任何有效的方法将具有大列表的 RDD 分块为多个列表而不执行收集
- javascript - FullCalendar v3 - 在视图更改时更改事件源
- java - 我们能否将测试结果 TestNG 报告或范围报告集成到 Microsoft 团队