JWT 工具箱 — 解码、验签与签发
在浏览器本地完成 JSON Web Token 的解码、用密钥或 PEM 公钥进行 HS/RS/ES 签名验证,以及 HS 签发,令牌与密钥不外发。
正在加载工具…
JWT 工具箱 — 解码、验签与签发 — 一站式 JSON Web Token 工具箱,提供解码、验签、签发三种模式。解码模式将令牌的头部和载荷格式化输出;验签模式用 HMAC 密钥(HS256/384/512)或 PEM 公钥(RS256/384/512、ES256/384/512)校验签名;签发模式根据你的头部、载荷和密钥生成新的 HS 签名令牌。所有操作均通过浏览器内置的 Web Crypto API 在本地完成,令牌、密钥和公钥都不会离开你的设备。
JWT 工具箱 — 解码、验签与签发 是什么?
JWT 工具箱是一款免费的一站式 JSON Web Token 工具,把解码器、签名验证器和 HS 签发器集于一身。解码模式会对 header.payload.signature 令牌进行 base64url 解码,并将头部和载荷格式化为美观的 JSON。验签模式会从令牌头部读取 alg,并使用 Web Crypto API 校验签名:HS256、HS384、HS512 使用 HMAC 共享密钥,RS256/RS384/RS512(RSASSA-PKCS1-v1_5)和 ES256/ES384/ES512(ECDSA)使用 PEM 编码的公钥。签发模式则根据头部 JSON、载荷 JSON、所选 HS 算法和密钥构建并用 HMAC 签发一个全新令牌。它专为调试身份验证、OAuth/OIDC 会话和令牌过期问题的后端与前端工程师、QA 测试人员和 API 集成人员打造,无需把密钥粘贴到远程服务。
如何使用 JWT 工具箱 — 解码、验签与签发
- 在顶部选择模式:解码、验签或签发。
- 解码:把 JWT(header.payload.signature)粘贴到令牌框,下方即可看到格式化的头部和载荷——此处不做签名校验。
- 验签:粘贴令牌,再把 HMAC 密钥(HS 算法)或 PEM 公钥(RS/ES)粘贴到密钥框;工具会从头部读取 alg 并显示绿色“有效”或红色“无效”。
- 签发:输入头部 JSON 和载荷 JSON,选择 HS256、HS384 或 HS512,填入密钥,复制随即生成的已签名令牌。
- 在任意输出上点击复制按钮,或点击清除重置解码输入。
示例
解码令牌
输入
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0In0.sig
输出
Header:
{
"alg": "HS256",
"typ": "JWT"
}
Payload:
{
"sub": "1234"
}验证 HS256 令牌
输入
token: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxIn0.<sig> secret: your-256-bit-secret
输出
valid (HS256)
签发新的 HS256 令牌
输入
header: {}
payload: { "sub": "1234567890", "name": "Jane Doe" }
secret: your-256-bit-secret输出
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkphbmUgRG9lIn0.<signature>
常见问题
- 我的令牌、密钥和公钥会被上传吗?
- 不会。每种模式都完全在浏览器本地运行,使用内置的 Web Crypto API(crypto.subtle)做 HMAC 和签名验证,并用 JavaScript 处理 base64url 和 JSON。令牌、密钥和 PEM 公钥都不会发送到任何服务器,因此可以安全地处理生产环境凭据。
- 它能验证哪些算法?
- 验签支持使用共享 HMAC 密钥的 HS256、HS384、HS512,以及使用 PEM 公钥的 RS256/RS384/RS512(RSASSA-PKCS1-v1_5)和 ES256/ES384/ES512(ECDSA)。它会自动从令牌头部读取 alg 字段,因此你只需提供相应的密钥或公钥。
- 它能用哪些算法签发?
- 签发模式只生成 HMAC 签名的令牌——HS256、HS384 或 HS512——基于你的头部 JSON、载荷 JSON 和密钥。RSA 和 ECDSA 签发需要私钥,不在本工具范围内;对于 RS/ES,你仍可在验签模式中用对应的公钥进行验证。
- 解码模式会校验签名吗?
- 不会。解码只对头部和载荷进行 base64url 解码并格式化输出,从不校验签名。请切换到验签模式并提供密钥或公钥来确认令牌真实性,在签名通过验证之前切勿信任解码后的载荷。
- 为什么验证显示无效或错误?
- “无效”表示签名与你提供的密钥或公钥不匹配。而“错误”表示输入无法处理——例如令牌缺少签名段、alg 不受支持,或 PEM 公钥无法解析。请确认你粘贴了完整令牌,并使用与其算法匹配的正确密钥。