utilduck
Home · 益智游戏 · 随机数生成器

随机数生成器

设定范围和数量,点击按钮即可生成随机整数列表。

生成的数字

关于随机数

本工具使用浏览器内置的安全随机源生成整数。开启「不重复」后,范围内每个数字最多只被抽取一次,类似于从袋中不放回地抽球。

随机数生成器是怎么工作的?

随机数生成器利用浏览器的密码学安全随机源,在最小值和最大值之间选出一个整数,范围内每个数字被选中的概率都相等。举例:最小值 1、最大值 100、生成 5 个,结果可能是 7、42、68、91、23。

生成随机数的步骤

  1. 设定要从中抽取数字的范围上下限。
  2. 选择一次要生成多少个数字。
  3. 决定是否允许重复,还是每个数字最多只出现一次(不重复模式)。
  4. 点击生成——工具会用浏览器的安全随机源逐个抽取数字。
  5. 把生成的结果列表复制出来,用于抽奖、抽样或测试数据。

范围和不重复模式的原理

随机整数 = 最小值 + (安全随机值 mod (最大值 - 最小值 + 1))
  • 最小值/最大值 = 可以抽取数字的范围(含两端)
  • 不重复模式 = 每个数字最多被抽到一次,就像从袋子里摸球不放回一样

常见范围与典型用途

范围数量是否唯一典型用途
1–61模拟掷一次骰子
1–456彩票式选号
1–1005允许重复的随机抽样
1–103不重复快速抽选
0–11二选一的随机判定

常见问题

这个生成器是真随机,还是伪随机?

它用的是浏览器内置 Web Crypto API 的 getRandomValues(),属于密码学安全的随机数生成器,适合抽奖、发放福利这类不能被预测的场景。这和速度更快但不追求不可预测性的普通 Math.random() 函数不同。

"不重复"具体是怎么起作用的?

开启不重复模式后,每抽到一个数字就会把它从候选池里移除,再抽下一个,就像从袋子里摸出编号球后不放回去一样。这意味着你要求生成的唯一数字个数不能超过范围内数字的总数。

能生成负数吗?

可以。把最小值设成负数,最大值设成任意大于等于它的数即可;不管是负数范围还是正数范围,生成器的工作方式都一样。

为什么我抽到了两次相同的数字?

这种情况只会在不重复模式关闭时发生。允许重复时,每次抽取都是独立事件,同一个数字可能出现多次,就像公平的骰子也可能连续两次掷出同一面。

用这个工具抽奖、发红包能保证公平吗?

数字本身的随机性由密码学安全随机源保证,适合朋友聚会抽奖、班级抽签、测试数据这类非正式场合。如果是需要合规的正式抽奖活动(比如商业促销抽奖),除了数字随机之外,还要另外确认每位参与者在设定范围内都有唯一且对等的名额,并符合相关活动规则。

密码学随机性保证的是数字本身的随机性,不保证你使用结果的方式是否公平——如果用于抽奖,请另外确认每位参与者在设定范围内都拿到了唯一且对等的名额。

Sources: MDN — Crypto.getRandomValues()

隐私与安全

  • 在浏览器中计算 — 您输入的内容仅在本机设备上计算,不会发送到 utilduck 服务器。
  • 加密连接 — 所有页面均通过 HTTPS 提供,传输过程中无法被读取。
  • 不提供给第三方 — 您输入的内容不会传递给分析或广告服务。
  • 不保存 — 计算结果不会保存到任何服务器,也无需注册账号。

最后更新: 2026-08-17

生成随机数前先固定规则

先明确最小值、最大值、生成数量以及是否允许重复,再点击生成。抽签名单通常要求不重复,而模拟掷骰子或独立试验可以重复;两种任务不能只靠同一组数字事后解释。若编号对应人员或物品,应先冻结编号表,避免看到结果后重新排序。还要写清边界值是否参与,例如从1到100通常意味着1和100都可能出现,不要让参与者各自理解。

少量结果看起来集中并不等于随机过程失效,真正的随机序列本来就可能连续出现相同或相近的数。公开抽签时,建议同时保存输入范围、数量、去重条件、执行时间和最终结果,让别人能够核对流程。该工具适合一般分组、教学和模拟;密码、加密密钥、代币或合规抽样应使用对应领域的专用生成器、审计记录与安全存储,不能只复制网页上临时显示的一串数。

在实验或数据抽样中,先把总体、抽样单位和排除条件定义清楚,再给每个合格对象分配唯一编号。页面只能从你给定的整数范围生成结果,并不知道编号表中是否有空缺、重复、已退出对象或分层要求;若名单不是连续编号,直接生成范围可能抽到不存在的对象。需要按地区、年级或类别保持比例时,应先分别建立各层名单并按研究方案抽取,不能事后看到样本结构不理想再替换号码。任何排除与重抽都要保留原因和原结果。名单映射是公平性中最容易被忽略的部分。编号应在生成前一次性分配并冻结,空号与不合格对象要明确排除;若抽中后发现对象无效,应按预先公布的重抽规则处理并保存原号码。多个奖项还要说明同一对象能否重复获选、奖项顺序是否影响资格,以及去重发生在每个奖项内还是整个活动内。页面只执行范围与重复选项,不会知道这些业务限制,也不会验证操作者展示的名单就是最终名单。

软件测试使用随机输入时,也应记录失败案例对应的参数与生成结果,因为下一次刷新通常无法得到完全相同的序列。若测试必须可重复,应该由测试框架提供可记录的种子或固定样例,而不是依赖这个通用页面。统计模拟还要区分均匀整数与正态、加权或连续分布;本工具的范围抽取不能自动代表那些模型。将结果导入表格前检查排序和前导零,避免软件把编号当日期或文本重新解释;最终报告应说明生成方式、范围、重复规则和清理步骤。向参与者公布结果时,可以同时给出规则摘要、候选总表的版本标识、执行者和见证方式,但应避免泄露名单中的不必要个人资料。生成号码不是分配责任的替代品:若结果关系到资源、安全或法定义务,还需审查随机分配本身是否合适。数据分析中的随机抽样则要评估缺失、覆盖不足和非响应偏差;随机选择只能减少选择环节的偏见,无法修复原始总体不完整。