祈灵工具箱

🔏JWT 在线生成 / 签名 / 验签工具 - 支持 HS256、RS256、ES256、PS256

开发登录鉴权、调试网关或写接口测试时,经常需要一个指定内容、指定算法的 JWT。在这里编辑 Header 和 Payload 的 JSON,选择算法、填好密钥,令牌就会实时签好。HMAC 系列(HS256/384/512)支持文本、Base64 和 Hex 格式的密钥,密钥长度不足 RFC 7518 要求时会提示;RSA(RS256/384/512)、RSA-PSS(PS256/384/512)和 ECDSA(ES256/384/512)可以粘贴 PKCS#8、PKCS#1(BEGIN RSA PRIVATE KEY)或 SEC1(BEGIN EC PRIVATE KEY)格式的私钥或私钥 JWK,也可以一键生成测试用密钥对,同时给出公钥 PEM 和带 kid(RFC 7638 指纹)的公钥 JWK,方便配置到 JWKS。载荷编辑区提供 iat、nbf、exp(+15 分钟~+30 天)快捷按钮和 iss、sub、aud、jti 标准声明补全。切换到验证页,粘贴令牌和密钥(支持公钥 PEM、X.509 证书、JWK/JWKS)即可校验签名,并检查 exp、nbf、iat,可设置时钟容差、固定期望算法,alg: none 一律拒绝。只想查看令牌内容可以使用站内的 JWT 解析工具。

免费 · 无需注册 · 浏览器本地处理最后更新:

正在加载工具...

如何使用JWT 生成与签名

  1. 1选择签名算法,输入 HMAC 密钥,或粘贴私钥 / 一键生成密钥对
  2. 2编辑 Header 与 Payload,用快捷按钮添加 iat、exp 等时间声明
  3. 3复制生成的 JWT;需要时切到「验证签名」用密钥或公钥校验

常见问题

HS256 和 RS256 / ES256 有什么区别,该选哪个?
HS256 是对称签名,签发方和验证方共用同一个密钥,适合单个服务内部使用;RS256、PS256、ES256 是非对称签名,用私钥签名、公钥验证,公钥可以公开给其它服务或放进 JWKS,适合多服务、第三方验证的场景。ES256 的密钥和签名更短,PS256 是更现代的 RSA 填充方式。
HMAC 密钥需要多长?
RFC 7518 要求 HMAC 密钥至少与哈希输出一样长:HS256 至少 32 字节(256 位),HS384 至少 48 字节,HS512 至少 64 字节。密钥过短时工具会给出提示。生产环境建议使用「随机生成」得到的高熵随机密钥,而不是好记的密码。
验证时提示签名无效,可能是什么原因?
常见原因有:密钥不对或格式选错(例如 Base64 密钥被当成文本);用 RS 公钥验证 ES 令牌等算法不匹配;令牌被复制时截断或多了空格;Header / Payload 被修改过。签名有效但令牌已过期、尚未生效时,工具会单独列出 exp、nbf 问题。
在网页上生成和签名 JWT 安全吗?
所有签名、验证和密钥生成都通过浏览器内置的 WebCrypto 在本地完成,密钥和令牌不会发送到服务器。但仍建议只用它处理开发和测试用的密钥,不要把生产环境的私钥或长期有效的令牌粘贴到任何网页中。