01 / 30 秒回忆
密码学随机源提供不可由普通伪随机种子直接预测的随机字节。把无符号 32 位随机数映射到区间时,不能简单用 x mod n,否则当区间宽度不能整除 2³² 时会产生偏差。
TOOLS / 嵌入式
使用浏览器密码学随机源生成指定范围内的无偏整数。
快速理解
输入
输出
知识回忆
概念、关系和工程边界。
01 / 30 秒回忆
密码学随机源提供不可由普通伪随机种子直接预测的随机字节。把无符号 32 位随机数映射到区间时,不能简单用 x mod n,否则当区间宽度不能整除 2³² 时会产生偏差。
02 / 核心关系
先拒绝落在完整分块之外的样本,再计算 min + (x mod (max−min+1));关闭重复后再用集合筛选已经生成的整数。
03 / 使用判断
做测试数据、寄存器值和抽样样本时明确是否允许重复,并把范围两端看作包含端点;需要可复现仿真时应另用明确的种子型 PRNG。
把 Math.random 当作安全随机源,或把最大值当成开区间上限。数量大于区间大小时强行去重会陷入无法完成的生成过程。
本工具不生成密钥、不保存 seed,也不保证跨浏览器序列可复现;密码协议仍应使用专门的密钥生成、存储和轮换方案。