随机数生成器
生成加密安全的范围内的随机数。支持整数、小数和批量生成。
关于随机数生成器
这个随机数生成器完全在你的浏览器中运行,并通过 Web Crypto API(crypto.getRandomValues)生成加密安全的随机数。设置最小值和最大值,选择需要的数量,然后点击生成。所有随机性都在你的设备上本地生成,不会上传任何数据。
什么是随机数?
真正的随机数来自物理现象,如放射性衰变或热噪声。计算机是确定性的,因此通过熵源作为种子的算法生成伪随机数。加密安全的伪随机数生成器(CSPRNG),如 crypto.getRandomValues 背后的实现,使用操作系统的熵池来生成对于安全敏感用途足够不可预测的数字。
CSPRNG 与 PRNG 的区别
- PRNG(
Math.random())—— 速度快,但可预测。适用于游戏、UI 动画等非安全场景。给定相同种子会产生相同序列。 - CSPRNG(
crypto.getRandomValues)—— 较慢但不可预测。安全令牌、密码重置、抽奖以及任何攻击者不能预测下一个值的场景都必须使用。
本工具使用 CSPRNG 路径,因此输出可用于任何用途。
常见使用场景
- 抽奖与抽签 —— 公平且不可预测地选出中奖者。
- 采样与调查 —— 从较大总体中随机选取子集。
- 游戏 —— 掷骰、洗牌、掉落物品。
- 统计与模拟 —— 蒙特卡洛方法和随机化实验。
- 安全令牌 —— 一次性代码和短期凭证(生产环境请配合更强的 KDF 使用)。
常见问题
数字如何生成? 使用 crypto.getRandomValues,这是浏览器由操作系统熵池支撑的加密安全 RNG。
最大数量是多少? 每次最多 1000 个数字。如需更多,可再次点击生成或使用脚本。
能排除重复吗? 可以,生成整数时勾选不重复。生成器会重试直到在范围内找到不重复的值。
小数如何处理? 小数保留 6 位小数。范围包含 min 和 max。