跳到主内容
算师傅 功能丰富的科学计算器与数学学习乐园
随机数 · 随机工具箱

随机数生成器

一个页面满足你所有“随机”需求:抽号、抽奖、分组、掷骰、抛硬币、生成密码与随机编码, 还能抽样并可视化概率分布。算法基于成熟的 random-js 库,结果可复制、可导出、自动留存历史。

随机数字

类型

你可能需要知道的

关于随机种子

种子决定随机序列的起点。相同种子 + 相同参数 = 完全一样的输出,常用于复现实验、调试与教学。加密强度模式下种子不生效。

关于密码强度

用“熵(bits) = 长度 × log₂(字符种类)”衡量。≥60 bit 较安全,≥80 bit 更稳妥。越长、字符集越杂,被暴力破解越难。

关于概率分布

普通随机数在区间内等可能;分布描述出现概率的规律。正态(钟形)、指数(等待时间)、泊松(计数)是最常见的几种。

常见问题

随机数生成器用的是“真随机”还是“伪随机”?

默认使用浏览器 Math.random 之上的高质量伪随机数算法(random-js 的 Mersenne Twister),适合绝大多数日常与教学场景。勾选“加密强度”后,会改用浏览器原生 crypto.getRandomValues(密码学安全随机数),用于密码、令牌等对安全性要求更高的场景。注意:任何网页工具都无法生成物理意义上的真随机数。

为什么“不重复”只能用于整数?

在连续区间里生成“不重复的小数”几乎一定会失败——任意两个不同的实数几乎不可能相等,因此“去重”对小数是无意义的。本工具仅在整数模式下提供不重复抽样(无放回抽取),连续小数模式始终允许重复。

“固定种子”有什么用?

种子(seed)相当于随机序列的“起点”。给定相同的种子与参数,生成的随机序列完全一致,便于复现实验结果、调试程序或用于教学演示。加密强度模式下种子不生效(加密随机源不可复现)。

抽奖 / 分组公平吗?

抽奖采用 Fisher–Yates 洗牌算法进行无放回抽样,每个名单成员被抽中的概率相等;分组同样先整体洗牌再均分,保证分配的随机与公平。所有随机算法均来自成熟的 random-js 库,避免手写实现带来的偏差。

生成的密码安全吗?

密码安全性取决于长度与字符集大小,可用“熵(bits)”衡量:长度 × log₂(字符种类数)。一般建议至少 12 位且包含大小写字母、数字与符号(熵 ≥ 60 bit),重要账户建议 ≥ 80 bit。开启“加密强度”会使用密码学安全随机源生成。

随机数和概率分布有什么区别?

普通随机数在区间内“等可能”出现;概率分布则描述了数值出现的概率规律,例如正态分布(钟形曲线,常见于身高、误差)、指数分布(等待时间)、泊松分布(单位时间内的随机事件数)。本工具的“概率分布”模块可抽样并绘制直方图,帮助直观理解这些分布。