跳到主要内容
AZ Tools

随机数生成器

设定范围、选择要抽几个,然后开抽。数值来自 Web Crypto API 而不是普通的伪随机生成器,而且在映射到你的范围时,会把少数会让结果产生偏斜的取值丢弃并重抽,因此范围内每一个数字的概率都真正相等。打开「不重复」即为不放回抽取,和真实的抽签一样;常见场景可直接用预设——6/45 乐透、Powerball、两颗骰子。输出可按逗号、空格或每行一个数字复制,能直接粘进电子表格或脚本。全部生成都在你的浏览器中完成。

预设

使用方法

  1. 设置最小 / 最大范围与要抽几个数字。
  2. 如需不重复,开启「唯一」。
  3. 选择排序与输出分隔符。
  4. 点击 Generate。

常见问题

随机性如何?
使用 crypto.getRandomValues + 拒绝采样,范围内每个数字概率完全相等——无模偏差。
可用于真实抽奖吗?
统计上是足够的——与 TLS 密钥使用同一原语。正式抽奖仍需可审计的流程,但对娱乐与内部公平抽取已足够。
「唯一」为何有上限?
若请求的唯一数字数大于范围(例如 1–5 抽 10 个唯一),则无解。工具会提示而非死循环。
预设的 Lotto / Powerball 是什么?
Powerball:1–69 选 5 个唯一。Lotto 6/45:1–45 选 6 个唯一。Dice:1–6 出 3 个数字,允许重复。
这些数字真的是均匀分布的吗?
是的,而让它成立的那个细节恰恰最容易做错。若只是把一个随机的 32 位数对范围大小取模,靠前的几个数字出现的概率会略高,因为范围很少能整除 2^32。本工具会丢弃落在那段不均匀尾部的取值并重新抽取,于是剩下的部分能精确地对应到范围上。
以后能重现同一次抽取吗?
不能。没有可设定的随机种子——密码学生成器的设计目标就是不可重现,而这正是使用它的全部意义。如果你需要一次可以证明、可以复现的抽取,请在抽取当时就把结果记录下来;重新生成不会给出相同的数字。
为什么不直接用普通的随机函数?
用来挑个颜色、打乱播放列表,它完全够用。一旦结果对某个人是有分量的,它就成了错误的工具:普通生成器有固定的内部状态,只要拿到足够多的输出就能推断出来,因此对愿意花心思的人而言序列是可预测的。抽奖、分组,或者任何有人可能提出异议的场合,一个不可预测的来源值得你付出的那点(其实是零)成本。

相关工具