📮 订阅更新🧰 工具库

随机数生成器(2026)

按范围生成随机整数或小数,支持去重与排序;也能把名单粘贴进来,随机抽取若干人,用于抽奖、点名、分组。

用加密级随机源,不用 Math.random

Math.random() 可预测、周期短,不适合抽奖;本工具改用 crypto.getRandomValues() 加拒绝采样,保证区间内每个值被选中的概率严格相等,不会因为取模产生偏差。

结果不会保存,刷新即消失;需要留存请复制。

常见用途

场景推荐设置
课堂点名 / 随机抽人名单抽取,人数 1
小组分组名单抽取,人数 = 每组人数
抽奖(内部活动)名单抽取,人数 = 奖品数
模拟数据 / 测试用例范围 1–100,个数 10,不重复
抽号选座范围 1–座位数,个数 1,不重复

关于「公平」的两点说明

算法公平不等于过程可审计。本工具保证每个候选等概率,但结果只存在你的浏览器里,主办方无法向参与者证明没有暗箱操作。正式抽奖应使用有公证或可回放的方案。

重复名单会改变概率。如果名单里同一个人出现两次,他中签的概率就是别人的两倍。抽取前先清理重复行。

生成的随机数是真随机吗?

不是物理意义上的真随机,而是密码学安全的伪随机(CSPRNG)。本工具使用浏览器的 crypto.getRandomValues(),它由操作系统的熵池驱动,不可预测、不重复周期,远优于 Math.random()。用于抽奖、点名、分组都足够可靠。

为什么「去重」模式下个数不能超过范围?

因为去重意味着每个数字只能出现一次。范围 1–10 只有 10 个可选值,要生成 15 个不重复的数在数学上不存在,工具会自动提示并把个数限制在范围内。

抽签时每个人被抽中的概率一样吗?

一样。程序对名单里每个位置等概率取样,且同一个名字不会重复抽到(除非你勾选「允许重复」)。如果名单里有重复姓名,会被当作两个独立个体,请先去重。

能用来抽奖/发红包吗?

可以,但注意两点:一是结果不可复现,刷新后无法证明公平,正式抽奖建议录屏或使用可审计的公证工具;二是不要用它生成密码或密钥以外的安全凭证,密钥请用专门的密码生成器。

随机数可以生成小数吗?

可以。选择「小数」模式并设置小数位数,结果按同样的范围均匀分布。注意小数模式下「去重」意义不大(几乎不会重复),建议关闭去重。

为什么刷新后不能复现上次的结果?

因为每次都用新的系统熵。这是安全特性而非缺陷:可复现的随机数意味着可被预测或被他人重放。需要留存结果,请在生成后复制或截图。

隐私说明

名单与结果只在本地内存处理,不上传服务器、不写入日志、不做统计。关闭页面即清除。

相关工具