随机数生成器

随机数字
下一步

可在指定范围内生成随机数。可选择整数或小数,设置最小值与最大值,确定一次性生成的数字数量及是否允许重复。该功能依托浏览器的加密 RNG 技术,确保输出结果通过统计学随机性检验。

如何生成随机数

  1. 1

    设置范围

    最小值和最大值均包含边界值,两者均可为负数。

  2. 2

    选择类型

    整数或小数。对于小数,请选择显示的位数。

  3. 3

    计数与唯一性检查

    允许重复(独立抽取)或要求唯一(数字不得出现两次)。

  4. 4

    生成

    数字会以逗号分隔显示,或按行逐一呈现,具体取决于您的复制模式。

这里“随机”是什么意思

该工具采用Web Crypto API(crypto.getRandomValues),其数据源取自操作系统的熵池。对于可容纳在32位范围内的数值区间,该方法在任何实际应用中均无法与真正的随机性相区分,已通过dieharderTestU01套件的验证。

对于极小范围(2–255),该工具采用拒绝抽样法以避免模偏效应,否则某些数值出现的概率会略微偏高。

常见用途

用途 设置
掷骰子(d6) 整数 1–6
彩票模拟(49 选 6) 整数 1–49,数量 6,不重复
测试数据(ID) 整数 1000–9999,不重复
小数模拟 小数 0–1,6 位
抛硬币 整数 0–1
从 N 个参赛者中选出一名获胜者 整数 1–N,数量 1

规定用途

对于存在法律或审计要求的场景(如赌博、官方抽签、加密密钥),应使用具备来源记录的认证 RNG 。浏览器随机数生成器虽性能优异,但尚未获得认证。

常见问题

若对32位随机数取模10,其最后几位数值中零的数量略多于九。对于较小范围而言,这种偏差可忽略不计;为确保符合博彩级公平性要求,请使用拒绝抽样法(本工具即采用此方法)。

不。Web Crypto API本身不具备种子生成功能,这是其设计初衷。如需确保可重复性(如共享测试环境或科学实验),请使用带有预设种子的 PRNG 库。

对于安全整数,其取值范围可达 2^53 – 1,几乎涵盖了所有非密码学应用场景;对于任意精度计算,请使用专用的大整数工具。

是的,输出范围既包含最小值也包含最大值,并精确到显示位数。

相关工具

此工具还提供其他语言版本