JWT 密钥生成器
随机的 HS256、HS384 和 HS512 密钥,支持 hex 或 Base64,可直接用于 .env。 所有处理都在本地完成,不会上传任何内容。
- 输入
- HS256 · HS384 · HS512
- 输出
- Hex · Base64 · Base64URL · .env
HS256 至少需要 32 字节。
你的密钥
256 位密钥 · HS256 · 字符数:0
.env 行
JWT_SECRET=在你的设备上使用 crypto.getRandomValues 生成,不会发送或存储任何内容。
值得用来签名的密钥
使用 HMAC 签名的 JWT,安全性取决于它的密钥。谁猜出了密钥,谁就能签发你的服务器信任的令牌,而过短或人为设定的密钥恰恰是离线破解工具最先尝试的对象。本生成器使用浏览器的密码学随机数生成器,按算法要求的长度生成密钥。
密钥应该多长
- HS256 至少需要 32 字节(256 位)。更短的密钥比与之搭配的哈希更弱,许多库会直接拒绝。
- HS384 至少需要 48 字节(384 位)。
- HS512 至少需要 64 字节(512 位)。
- 更长也可以。比哈希分组长度更长的密钥会先被哈希压缩,因此 HS256 超过 64 字节、HS512 超过 128 字节后不会再有额外收益。
如何使用密钥
- 不要写进代码。把它放进环境变量或密钥管理服务;“复制为 .env”会给你一行可直接粘贴的内容。
- 注意编码。有些库把密钥当作文本,有些则期望 Base64 形式的原始字节。如果你会把它解码为字节,请在这里选择 Base64 或 Base64URL;如果库直接使用该字符串,hex 是最稳妥的选择。
- 更换密钥会让所有人退出登录。用旧密钥签名的令牌都将无法通过验证,所以请有计划地轮换,不要仓促操作。
- 部署前先测试。“在 JWT 解码器中测试”会打开解码器,并载入一个用该密钥签名的示例令牌,让你看到有效签名是什么样子。
常见问题
- 如何生成 JWT 密钥?
- 选择服务器使用的算法,就会立即生成长度合适的密钥。选择库所需的编码,然后复制密钥或现成的 .env 行。点击“重新生成”即可得到新的密钥。
- HS256 的 JWT 密钥应该多长?
- 至少 32 字节,即 256 位:64 个 hex 字符或 43 个 Base64URL 字符。更短的密钥比与之搭配的 SHA-256 哈希更弱。
- 在浏览器中生成密钥安全吗?
- 安全。密钥来自 crypto.getRandomValues,也就是浏览器用于 TLS 的同一个密码学随机数生成器,并在你的设备上创建。它不会被发送到服务器,也不会被记录或存储。
- JWT 密钥应该用 hex 还是 Base64?
- 两者包含的随机字节完全相同。如果库把密钥当作纯文本,hex 最稳妥;如果库会先把密钥解码为原始字节(许多配置项都是这样要求的),则应选 Base64 或 Base64URL。
- 可以用密码作为 JWT 密钥吗?
- 不建议。与 32 个随机字节相比,密码又短又容易被预测,而任何拿到你某个令牌的人都可以离线猜测密钥,速度只取决于其硬件。
其他工具
Data Studio在 JSON、YAML、TOML、CSV 和 Markdown 之间转换结构化文本。JWT 解码器查看令牌的头部和声明,检查是否过期,并验证签名。密码生成器强随机密码,并以位显示强度。模拟数据生成器生成逼真的假用户、商品和订单,支持自定义列,可导出 JSON、CSV 或 SQL。图像转换器重新编码、缩放和矢量化图片,实时对比转换前后效果。压缩与归档用 gzip 或 Brotli 压缩任何文件,或把整个文件夹打包成 ZIP。DOCX 转 PDF把 Word 文档转换成文字可选中的真正 PDF。PDF 转 DOCX从 PDF 的文本层还原出可编辑的 Word 文档。消除背景自动 AI 检测、智能选区与精准手动工具。PDF编辑器直接在浏览器中签署文档、编辑文本、插入图片并涂白遮盖PDF。大小写转换把文本转换为 kebab-case、camelCase、snake_case、Title Case 等十多种格式。Lorem Ipsum 生成器按段落、句子或单词生成占位文本,支持纯文本或 HTML。图片转 ASCII把照片变成 ASCII 字符画,黑白或全彩均可。