无需登录 数据私有 本地保存

加密安全随机数 - Crypto.getRandomValues

11
0
0
0

加密安全随机数生成器

基于 Web Crypto API (crypto.getRandomValues) 生成密码学安全的随机数,适用于令牌、密钥、随机抽样等场景。

生成参数
包含边界,生成范围 [min, max] 的整数
范围 [min, max),即包含最小值,不含最大值
结果长度为 2×字节数 的十六进制字符串
当前结果
点击上方按钮生成
历史记录
暂无历史记录
常见问题 & 安全知识

Math.random() 使用的是伪随机数生成器(PRNG),种子基于当前时间等因素,不适合安全敏感场景(如生成令牌、密钥、盐值)。而 crypto.getRandomValues 使用操作系统提供的密码学安全随机数生成器(CSPRNG),符合 FIPS 标准,生成的值不可预测,适合安全用途。

本工具使用“拒绝采样”算法保证均匀分布:先计算范围大小,再生成随机无符号整数,如果该值落在可被范围整除的最大区间内,则取模得到结果;否则重新生成。这样避免了因直接取模导致的小数字概率偏高的问题,确保每个整数出现的概率完全相等。

是的。由于底层使用的是加密安全随机源,生成的字符串(如十六进制、UUID)可以直接用作会话令牌、API 密钥、密码重置令牌、盐值等。但请注意,对于高度敏感的应用,仍需遵循最佳实践(如足够的字节长度、安全的存储方式)。

完全不会。本页面所有计算均在您的浏览器本地执行,随机数通过 crypto.getRandomValues 在客户端生成,不会向服务器发送任何数据。您可以断开网络连接后正常使用该工具,确保隐私安全。

主流现代浏览器(Chrome 37+、Firefox 34+、Safari 11+、Edge 79+)均已全面支持 crypto.getRandomValues。对于极旧浏览器(如 IE 10/11),该 API 也通过 msCrypto 前缀提供支持,但本工具主要面向现代浏览器环境。