免费工具

Auth Secret 生成器

在浏览器中为 AUTH_SECRET、BETTER_AUTH_SECRET、NEXTAUTH_SECRET、JWT 签名或任何环境变量生成加密安全的随机密钥。

格式
强度
生成的密钥
 

使用 Web Crypto API 在浏览器本地生成,不会向任何服务器发送数据。

这些密钥有什么用?

认证库使用服务端密钥对会话令牌进行签名和加密。Better Auth 读取 BETTER_AUTH_SECRET,Auth.js(NextAuth)读取 AUTH_SECRET,JWT 库需要签名密钥——它们都要求一个只有服务端知道的高熵随机值。

弱密钥或复用密钥会让攻击者伪造会话令牌、冒充任意用户。每个项目、每个环境都应生成独立的 32 字节密钥,并确保不进入版本控制。

如何使用生成的密钥

将密钥添加到 .env 文件:

.env
# .env
BETTER_AUTH_SECRET=your-generated-secret   # Better Auth
AUTH_SECRET=your-generated-secret          # Auth.js / NextAuth v5
JWT_SECRET=your-generated-secret           # generic JWT signing

Base64 URL 安全格式与 `npx auth secret` 和 `openssl rand -base64 32` 的输出一致,Better Auth、Auth.js/NextAuth 及所有 JWT 库均可直接使用。

常见问题

AUTH_SECRET 应该多长?

至少 32 字节(256 位)随机强度,与 `npx auth secret` 的输出以及 Better Auth、Auth.js 的建议一致。本工具默认生成 32 字节。

AUTH_SECRET 和 BETTER_AUTH_SECRET 有什么区别?

用途相同,只是面向不同的库:Auth.js(NextAuth v5)读取 AUTH_SECRET,Better Auth 读取 BETTER_AUTH_SECRET。两者都要求本工具生成的这类高熵随机字符串。

浏览器端生成在密码学上安全吗?

安全。本工具使用 Web Crypto API 的 crypto.getRandomValues,随机性质量与 openssl 相同,且密钥不会离开你的设备。

轮换密钥会发生什么?

所有用旧密钥签名的会话和令牌立即失效,用户需要重新登录。一旦怀疑泄露应立即轮换。

这个免费工具由 NEXTY.DEV —— Next.js SaaS 模板 构建和维护,模板内置 Better Auth 认证、Stripe 支付和 AI 能力。