随机数生成Random Number Generator
一键在指定范围内批量生成随机整数或小数,支持不重复抽样、升序排序与小数位数控制,抽奖、抽样、造测试数据更快。基于密码学安全随机源,全程浏览器本地完成。
闭区间,两端都可能取到,支持负数;小数模式下可填小数
工具介绍
3 段详细说明随机数生成是一键式批量发号工具,支持 指定范围内的整数与小数 两种模式,单次最多 100 个,并提供不重复抽样、升序排序、小数位数控制等常用选项,覆盖抽奖、抽样、造测试数据等场景。
所有随机数都来自浏览器原生的 crypto.getRandomValues(密码学安全 CSPRNG),并用拒绝采样消除模偏差,保证区间内每个值等概率出现。生成过程在 浏览器内存 中完成,不上传任何服务器,零依赖、零网络请求,断网也能用。
相比手写 Math.random() 或在 Excel 里拖公式,本工具 无需安装、打开网页即用,随机源质量更高(Math.random 不保证密码学安全),结果支持逐行复制或逗号分隔一键带走,可直接粘贴到 Excel、表格或代码中。
基础知识 · 随机数原理
CSPRNG · 等概率"随机"并不意味着"随便"。一个合格的随机数生成器需要满足不可预测、均匀分布、无偏差三点。以下是理解本工具行为所需的 6 个核心概念:
csprng密码学安全随机源crypto.getRandomValues,底层由操作系统熵池驱动,属于 CSPRNG(密码学安全伪随机数生成器),质量远高于 Math.random(),可用于抽奖等对公平性有要求的场景。modulo bias模偏差与拒绝采样uniform均匀分布closed interval闭区间含两端unique sampling放回 vs 不放回seeded prng随机种子与可复现抽奖 / 抽签 —— 必须用 CSPRNG(本工具)。用 Math.random 或可预测种子,结果可被提前推算,公平性受质疑。测试数据 —— CSPRNG 或普通 PRNG 均可,重在覆盖范围与分布,本工具默认即可。仿真 / 回放 —— 需要可复现时用带种子的 PRNG(如 seedrandom),脱离本工具场景。密码 / 密钥 —— 同样必须 CSPRNG,但请使用专门的密码生成工具(字符集与防混淆规则更严格),不要用数字随机数拼接。使用说明
4 步快速入门使用场景
5 个真实案例把参与者编号设为范围,打开「不重复」开关批量抽取,一人一号绝不撞号。
从批次号区间内等概率抽取样本,不放回抽样保证样本互不重复,过程可复现可解释。
批量造随机整数 / 金额小数填进 mock 数据、数据库、表格,比手写递增编号更贴近真实分布。
掷骰子(1-6)、抽扑克(1-52)、团建分组编号,手机打开即用,公平公正可公示。
课堂演示均匀分布、频率稳定性:生成 100 个随机数,排序后观察分布,直观理解随机性。
常见问题
10 个问答随机数生成是什么?有什么用?
在指定范围内批量生成随机整数或小数,支持不重复抽样、排序、小数位数控制。常用于抽奖、抽样调查、测试数据填充、游戏决策、概率教学等场景。
生成的随机数会上传或被记录吗?
不会。生成完全在浏览器内存中完成,使用原生 crypto.getRandomValues 随机数,没有任何网络请求,也不做任何埋点。断网后打开本页仍可正常生成。
用的是真随机还是伪随机?
浏览器 crypto.getRandomValues 底层由操作系统熵池(CSPRNG)驱动,属于密码学安全的伪随机,质量远高于 Math.random,满足抽奖、抽样等公平性要求。真正的"真随机"(硬件熵)在浏览器环境中不可得,也不必要。
Math.random 和本工具有什么区别?
Math.random 不保证密码学安全、实现质量因引擎而异;本工具用 crypto.getRandomValues 并做拒绝采样,严格保证区间内每个值等概率、无模偏差,可直接用于对公平性有要求的场景。
什么是不重复抽样?
打开「不重复」开关后,同一批结果内任意两个值都不相同(不放回抽样),适合抽奖、抽签。注意可用值数量必须 ≥ 生成数量,例如 1-10 范围内最多生成 10 个不重复整数。
范围的最小值和最大值包含在内吗?
包含。生成区间是闭区间 [最小值, 最大值],填 1-100 时 1 和 100 都可能出现。小数模式同样包含两端(按所选位数取值)。
范围和数量有什么限制?
单次最多 100 个;范围跨度需在安全整数范围内(约 ±9×10¹⁵)。小数模式的可用值数量 = 跨度 × 10^位数 + 1,位数越多可用值越多。
为什么结果每次都不一样?能固定住吗?
随机数每次生成都重新取样,这是随机性的本意。工具不提供固定种子(可复现随机)功能——如有该需求,建议在代码中使用带种子的伪随机库(如 seedrandom)实现。
可以生成负数或很大很小的数吗?
可以。最小值 / 最大值支持负数,只要最小值 ≤ 最大值即可;整数模式要求两端都是整数,范围跨度不超过安全整数上限。
离线能用吗?
能。PWA 已上线,首次访问后浏览器会缓存所有资源,断网后仍可正常生成。工具本身零网络请求,无需任何 API 密钥。
相关工具
计算分类数据来源
隐私优先crypto.getRandomValues(CSPRNG),整数与小数均通过拒绝采样消除模偏差,区间内每个值严格等概率。无任何第三方依赖,无 WASM、无 polyfill。