随机数生成器
加密级强随机整数与小数,支持不重复抽取模式和便捷预设
快捷预设
关于此工具
此随机数生成器在你选择的最小值与最大值之间生成不可预测的数字。你可以生成整数或带指定小数位数的小数,一次抽取所需的任意数量,并开启“不重复”以进行无重复的公平抽取——非常适合抽奖、选取获奖者或彩票号码。数字来自浏览器的加密随机性(crypto.getRandomValues)并采用拒绝采样,因此范围内每个值出现的概率相同。内置预设涵盖掷骰子、抛硬币、彩票和 PIN 码。
使用方法
- 1 设定你需要取数的范围的最小值和最大值。
- 2 选择要生成多少个数字,并选择整数或小数。
- 3 如需无重复抽取(如彩票),勾选“不重复”。
- 4 点击生成并复制结果——或使用骰子、硬币、彩票或 PIN 的预设。
工作原理
对随机数生成器来说,真正的公平性至关重要。此工具使用 Web Crypto API 的 crypto.getRandomValues,这是加密安全的随机源,而非普通的 Math.random。为了把原始的 32 位随机值无偏地映射到你的范围,它采用拒绝采样:会扭曲分布的值(因为范围无法整除 2³²)会被丢弃并重新抽取,从而使最小值到最大值之间的每个整数概率完全相同。“不重复”模式执行部分 Fisher–Yates 洗牌,不放回地抽取不同的值——与公平洗一副牌的算法相同。小数模式将 [0,1) 区间的均匀值按你的范围缩放并四舍五入到所选位数。一切都在你的浏览器本地运行;不会向服务器发送任何内容。
常见问题
这些数字真的是随机的吗?
它们使用浏览器加密安全的生成器(crypto.getRandomValues),远比 Math.random 强大,适合公平抽取和游戏。它们在技术上是伪随机的,但在实践中不可预测。
如何无重复地抽取数字?
在整数模式下开启“不重复”。工具随后像彩票一样不放回地抽取不同的值。你无法抽取比范围内不同整数更多的数字。
我可以生成小数而不是整数吗?
可以。切换到小数并设定所需的小数位数;每个结果都是你范围内的均匀值,四舍五入到该精度。
我的数据会被发送到任何地方吗?
不会。所有生成都在你的浏览器本地进行,因此你输入或生成的任何内容都不会离开你的设备。
相关工具
若要汇总一组数字,请试试统计计算器。进制转换可使用进制转换器,快速计算可参考百分比计算器。