不喜欢广告? 无广告 今天

Cryptographic Nonce Generator

开发人员
广告 移除?

使用示例

什么是随机数 (Nonce)?

广告 移除?

指导

Cryptographic Nonce Generator

为 CSP 标头、OAuth 状态参数、CSRF 令牌、会话 ID 等生成加密安全的随机数(一次性使用的数字)。使用 crypto.getRandomValues() 实现真正的随机性 — 无 Math.random() 回退。输出格式为十六进制、Base64、Base64url 或十进制数组。所有操作均在您的浏览器中进行,不会发送到任何服务器。

如何使用

选择字节长度(8、16、24、32 或 64 字节,或输入自定义长度),选择输出格式(十六进制、Base64、Base64url 或十进制数组),并设置要生成的随机数数量。更改设置时,值会自动生成。可以复制单个随机数,或使用预格式化的使用示例,这些示例会自动填充您生成的随机数,用于 CSP 标头、HTML 脚本标签、OAuth 状态参数、CSRF 令牌和会话 Cookie。

特征

  • 加密随机性 — 仅使用 crypto.getRandomValues()。无 Math.random() 回退。生成源自操作系统熵源的加密安全随机字节。
  • 多种输出格式 — 十六进制(小写)、Base64(标准)、Base64url(URL 安全,无填充)和十进制字节数组。每种格式都适用于不同的用例。
  • 可配置的字节长度 — 预设长度(8、16、24、32、64 字节)或自定义长度。熵显示器显示随机性位数(字节 × 8)。
  • 批量生成 — 一次最多生成 100 个随机数,每个都有单独的复制按钮。
  • 使用示例 — 预格式化的代码片段,自动填充您的随机数:CSP 标头、HTML 脚本随机数属性、OAuth 状态参数、CSRF 隐藏输入和会话 Cookie。
  • 熵显示器 — 显示已配置字节长度的熵位数,以便您可以验证随机数是否满足安全要求。
  • 100% 客户端 — 没有任何内容离开您的浏览器。无服务器请求,无日志记录。您的随机数将保持私密。

什么是随机数 (Nonce)?

随机数(Nonce,“一次性使用的数字”)是只能使用一次的随机值。在密码学和 Web 安全中,随机数可防止重放攻击、跨站脚本攻击 (XSS) 和请求伪造。关键要求是不可预测性 — 攻击者不得能够猜测随机数值,这就是为什么需要加密随机性(而非伪随机性)至关重要。

广告 移除?

随机数和随机令牌之间有什么区别?

随机数(Nonce)专门指“一次性使用的数字” — 每次使用都必须是唯一的,并且永远不应重复使用。随机令牌(Random Token)是一个更广泛的术语,指用于身份验证或标识的任何随机值。实际上,加密随机数是具有单次使用附加约束的随机令牌。CSP 随机数必须在每次页面加载时重新生成。OAuth 状态参数必须每个授权请求都是唯一的。CSRF 令牌应每个会话或每个请求都是唯一的。生成方法相同(加密随机性),但使用模式不同。

为什么不使用 Math.random() 来生成随机数?

Math.random() 使用伪随机数生成器 (PRNG),它不具备加密安全性。其输出是确定性的 — 如果攻击者知道内部状态,他们就可以预测未来值。现代浏览器使用 xorshift128+ 或类似算法生成 Math.random(),这些算法速度快但可预测。crypto.getRandomValues() 使用操作系统提供的加密随机数生成器 (CSPRNG),该生成器从硬件事件中获取熵,使其输出不可预测,即使是知道算法的攻击者也无法预测。对于任何敏感的安全值,请务必使用 crypto.getRandomValues()。

我的随机数应该有多少字节?

这取决于用例。对于 CSP 随机数,建议最小值为 16 字节(128 位)— 足以防止暴力猜测。对于 OAuth 状态参数,16-32 字节是标准值。对于 CSRF 令牌,最小值为 16 字节。对于会话 ID,32 字节(256 位)提供了非常充足的安全裕度。一般规则是:以当前技术而言,128 位(16 字节)的熵被认为在计算上是不可行的。256 位可提供针对理论量子计算攻击的安全性。

什么是 Base64url 以及何时应该使用它?

Base64url 是 Base64 编码的一个 URL 安全变体。标准 Base64 使用 + 和 / 字符,它们在 URL 中具有特殊含义,可能在查询参数、Cookie 和文件名中引起问题。Base64url 将 + 替换为 -,将 / 替换为 _,并省略 = 填充。请将 Base64url 用于 OAuth 状态参数、URL 查询值、JWT 令牌、Cookie 值以及随机数将出现在 URL 或 HTTP 标头中的任何上下文。将标准 Base64 用于 CSP 随机数(规范要求标准 Base64)和不关心 URL 安全性的上下文。

想要享受无广告的体验吗? 立即无广告

安装我们的扩展

将 IO 工具添加到您最喜欢的浏览器,以便即时访问和更快地搜索

添加 Chrome 扩展程序 添加 边缘延伸 添加 Firefox 扩展 添加 Opera 扩展

记分板已到达!

记分板 是一种有趣的跟踪您游戏的方式,所有数据都存储在您的浏览器中。更多功能即将推出!

广告 移除?
广告 移除?
广告 移除?

新闻角 包含技术亮点

参与其中

帮助我们继续提供有价值的免费工具

给我买杯咖啡
广告 移除?