51上TOP

栏目

TOOLS / 嵌入式

随机数生成器

使用浏览器密码学随机源生成指定范围内的无偏整数。

浏览器本地计算crypto.getRandomValues

快速理解

如何使用「随机数生成器」

3 步指南 +
  1. 填写参数按照字段说明输入数值、单位或本地文件;不确定时先阅读输入提示。
  2. 执行计算点击“计算”,结果区会显示关键数值、公式、单位和模型提醒。
  3. 判断边界结合假设与限制确认结果是否适合当前问题,不把前期估算当成仿真、综合或实测。

输入

参数

A
整数范围
包含在结果范围内;首版限制为有符号 32 位整数。
包含在结果范围内;必须不小于范围下限。
生成设置
范围 1–10000;不允许重复时不能超过区间内整数个数。
关闭后使用集合去重;随机源仍使用密码学随机数。

输出

计算结果

B
正在加载当前工具…
计算结果会显示在这里。

本机操作

计算在当前浏览器完成,不上传参数。

更多操作

知识回忆

概念速记

NOTE

概念、关系和工程边界。

01 / 30 秒回忆

密码学随机源提供不可由普通伪随机种子直接预测的随机字节。把无符号 32 位随机数映射到区间时,不能简单用 x mod n,否则当区间宽度不能整除 2³² 时会产生偏差。

02 / 核心关系

先拒绝落在完整分块之外的样本,再计算 min + (x mod (max−min+1));关闭重复后再用集合筛选已经生成的整数。

03 / 使用判断

做测试数据、寄存器值和抽样样本时明确是否允许重复,并把范围两端看作包含端点;需要可复现仿真时应另用明确的种子型 PRNG。

常见误区

把 Math.random 当作安全随机源,或把最大值当成开区间上限。数量大于区间大小时强行去重会陷入无法完成的生成过程。

工程提醒

本工具不生成密钥、不保存 seed,也不保证跨浏览器序列可复现;密码协议仍应使用专门的密钥生成、存储和轮换方案。

公式计算依据
  • 先拒绝落在完整分块之外的样本,再计算 min + (x mod (max−min+1));关闭重复后再用集合筛选已经生成的整数。
边界假设与限制
  • 本工具不生成密钥、不保存 seed,也不保证跨浏览器序列可复现;密码协议仍应使用专门的密钥生成、存储和轮换方案。