随机数生成器

范围自定、数量自定、分布均匀,两端都包含。

—
选项

设好上下界就能生成。结果是均匀的:范围内每个整数概率相同,两个端点也算在内——不少生成器会少取最大值,这里不会。

要多个值就设置数量。打开不重复后工具做无放回抽样,抽奖、分座位、任何重复即为错误的场景都该用这一档。

使用方法

  1. 输入最小值与最大值。
  2. 需要多个值时设置数量。
  3. 重复会算错误时打开不重复。

为什么不是 Math.random() 乘一个范围

常见写法 Math.floor(Math.random() * (max - min + 1)) + min 有两个问题:Math.random() 是可预测的伪随机源,浮点乘法还可能让最大值略少出现。日常使用看不出来,但两件事都真实存在。

这里从 crypto.getRandomValues() 取 32 位随机值,把落在范围大小最大整数倍之外的部分拒绝掉,再映射到上下界。可预测性和偏差同时消失,代价是偶尔多抽一次。

审校于 2026-10-21。这个工具完全在你的浏览器里运行——没有服务器、不需要账号,生成的内容也不会被保存。

常见问题

分布真的均匀吗?

对整数是的,每个取值的概率在构造上完全相同。小样本看起来不均只是方差,不是偏差。

能生成小数吗?

把小数位数设成大于零。内部先放大成整数再除回来,避免浮点乘法带来的舍入漂移。

能用于抽奖吗?

非正式抽奖可以。有法律效力的场合要事先记录方法与种子,可复现性比算法本身更重要。

结果加密安全吗?

随机源是加密安全的。但本页是工具页不是密钥服务,不要用它生成密钥或令牌,那该用密码生成器。

相关工具

更多随机数工具。