JWT 解析、HMAC 校验与安全诊断
正常 NEW本地解析 JWT,校验 HS256 / HS384 / HS512 签名,支持 audience / issuer / typ / kid / exp / max_age / 算法白名单等策略,并输出结构风险提示。纯本地计算,不请求外部地址,不存储 token 或密钥。
¥
0.002
/ 次
按次计费
本地解析 JWT,校验 HS256 / HS384 / HS512 签名,支持 audience / issuer / typ / kid / exp / max_age / 算法白名单等策略,并输出结构风险提示。纯本地计算,不请求外部地址,不存储 token 或密钥。
健康检查
?key=您的API密钥 即可直接调用;也可改用 Authorization: Bearer 或 X-App-Key 请求头传递,避免密钥出现在访问日志中。
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| key | string | 是 | 您的API密钥,可在个人中心获取 |
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | int | - |
| msg | string | - |
| data | object | - |
| data.name | string | - |
| data.version | string | - |
| data.time | string | - |
| data.timezone | string | - |
| data.algorithms | array | - |
| data.secret_encodings | array | - |
| data.limits | object | - |
| data.optional_checks | array | - |
| data.endpoints | array | - |
| data.disclaimer | string | - |
{"msg":"pong","code":0,"data":{"name":"JWT 工具 API","time":"2026-11-01 18:30:00","limits":{"leeway":[0,300],"max_age":[0,31536000],"token_length":8192,"secret_length":1024},"version":"1.0.0","timezone":"Asia/Shanghai","endpoints":["ping","decode","verify"],"algorithms":["HS256","HS384","HS512"],"disclaimer":"decode 不校验签名;verify 仅支持 HS256/HS384/HS512。jku/x5u/jwk 只做风险提示,不会请求外部地址;服务端不存储 token 或密钥。","optional_checks":["expected_aud","expected_iss","expected_typ","expected_kid","require_exp","max_age","algorithms"],"secret_encodings":["plain","base64","base64url","hex"]}}
解析 JWT
?key=您的API密钥 即可直接调用;也可改用 Authorization: Bearer 或 X-App-Key 请求头传递,避免密钥出现在访问日志中。
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| key | string | 是 | 您的API密钥,可在个人中心获取 |
| token | string | 是 | 完整 JWT |
| leeway | int | 否 | 时间声明容忍秒数,0-300,默认 0 |
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | int | - |
| msg | string | - |
| data | object | - |
| data.header | object | - |
| data.payload | object | - |
| data.algorithm | string | - |
| data.alg_none | bool | - |
| data.signature_present | bool | - |
| data.signature_bytes | int | - |
| data.header_valid | bool | - |
| data.kid | string | - |
| data.typ | string | - |
| data.token_length | int | - |
| data.header_bytes | int | - |
| data.payload_bytes | int | - |
| data.claims | object | - |
| data.warnings | array | - |
| data.verified | bool | - |
| data.note | string | - |
{"msg":"success","code":0,"data":{"kid":null,"typ":"JWT","note":"decode 只解析内容,不校验签名;请使用 /api/jwt/verify 校验 HS256/HS384/HS512 签名","claims":{"exp":null,"iat":1516239022,"nbf":null,"now":1793528168,"errors":[],"leeway":0,"expired":null,"valid_in":null,"expires_in":null,"age_seconds":277289146,"claims_valid":true,"exp_datetime":null,"iat_datetime":"2018-01-18 09:30:22","nbf_datetime":null,"now_datetime":"2026-11-01 18:16:08","iat_in_future":false,"not_yet_valid":null},"header":{"alg":"HS256","typ":"JWT"},"payload":{"iat":1516239022,"sub":"1234567890","name":"John Doe"},"alg_none":false,"verified":false,"warnings":[{"code":"exp_missing","message":"token 没有 exp"}],"algorithm":"HS256","header_bytes":27,"header_valid":true,"token_length":155,"payload_bytes":55,"signature_bytes":32,"signature_present":true}}
校验签名与策略
?key=您的API密钥 即可直接调用;也可改用 Authorization: Bearer 或 X-App-Key 请求头传递,避免密钥出现在访问日志中。
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| key | string | 是 | 您的API密钥,可在个人中心获取 |
| token | string | 是 | 完整 JWT |
| secret | string | 是 | HMAC 密钥,建议放在 POST Body |
| leeway | int | 否 | 时间声明容忍秒数,0-300,默认 0 |
| secret_encoding | string | 否 | plain(默认)/ base64 / base64url / hex |
| algorithms | string/array | 否 | 允许的算法,逗号分隔或数组,如 HS256,HS512 |
| expected_aud | string/array | 否 | 期望受众;token 的 aud 命中任意一个即可 |
| expected_iss | string | 否 | 期望签发者,精确匹配 iss |
| expected_typ | string | 否 | 期望 typ,大小写不敏感 |
| expected_kid | string | 否 | 期望 kid,精确匹配 |
| require_exp | bool | 否 | 为 1 时要求 token 必须带 exp |
| max_age | int | 否 | token 最大年龄(秒),基于 iat 或 auth_time |
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | int | - |
| msg | string | - |
| data | object | - |
| data.header | object | - |
| data.payload | object | - |
| data.algorithm | string | - |
| data.kid | string | - |
| data.typ | string | - |
| data.token_length | int | - |
| data.header_bytes | int | - |
| data.payload_bytes | int | - |
| data.signature_valid | bool | - |
| data.claims_valid | bool | - |
| data.policy_valid | bool | - |
| data.is_valid | bool | - |
| data.reason | string | - |
| data.checks | object | - |
| data.claims | object | - |
| data.warnings | array | - |
{"msg":"success","code":0,"data":{"kid":"k1","typ":"JWT","checks":{"kid":true,"typ":true,"claims":true,"issuer":true,"max_age":true,"audience":true,"algorithm":true,"signature":true,"require_exp":true},"claims":{"exp":1793531600,"iat":1793528000,"nbf":null,"now":1793528168,"errors":[],"leeway":0,"expired":false,"valid_in":null,"expires_in":3432,"age_seconds":168,"claims_valid":true,"exp_datetime":"2026-11-01 19:13:20","iat_datetime":"2026-11-01 18:13:20","nbf_datetime":null,"now_datetime":"2026-11-01 18:16:08","iat_in_future":false,"not_yet_valid":null},"header":{"alg":"HS256","kid":"k1","typ":"JWT"},"reason":"signature_verified","payload":{"aud":"api://demo","exp":1793531600,"iat":1793528000,"iss":"https://issuer.example","sub":"u1"},"is_valid":true,"warnings":[],"algorithm":"HS256","claims_valid":true,"header_bytes":38,"policy_valid":true,"token_length":224,"payload_bytes":96,"signature_valid":true}}
本地解析 JWT,校验 HS256 / HS384 / HS512 签名,支持 audience / issuer / typ / kid / exp / max_age / 算法白名单等策略,并输出结构风险提示。纯本地计算,不请求外部地址,不存储 token 或密钥。
| 等级 | 每月免费次数 | 本接口月免费上限 | 折扣 | VIP 折后单价 |
|---|---|---|---|---|
| 免费版 | 按接口配置 | — | - | ¥0.002/次 |
| 个人版 | 5000 次 | 5000 次 | 10% | ¥0.0018/次 |
| 专业版 | 30000 次 | 30000 次 | 20% | ¥0.0016/次 |
| 企业版推荐 | 200000 次 | 200000 次 | 30% | ¥0.0014/次 |
本接口未定义专属错误码,调用时请参考通用错误码体系。
| 错误码 | 说明 | 解决方案 |
|---|---|---|
| 200 | 请求成功 | - |
| 400000 | 请求参数错误 | 检查参数名、格式与取值 |
| 401000 | 认证失败 | 检查 Authorization: Bearer 密钥是否正确、是否过期 |
| 401002 | 缺少 API 认证参数 | 请求未携带 key,请通过 URL 参数 key 或请求头 Authorization 传递密钥 |
| 402000 | 账户余额不足 | 充值后重试 |
| 403000 | 无访问权限 | 确认密钥权限、接口范围与 IP 白名单是否满足要求 |
| 404001 | 接口或端点不存在 | 检查 API 与端点的请求路径 |
| 409000 | 请求冲突 | 请稍后重试 |
| 422000 | 参数校验失败 | 检查参数格式与取值 |
| 429001 | 请求频率超限(QPS) | 降低请求频率,或升级套餐提升额度 |
| 429002 | 分钟级调用频率超限 | 降低调用频率,或升级套餐提升额度 |
| 429003 | 小时级调用额度已用完 | 升级套餐提升额度,或整点后重试 |
| 429004 | 今日调用额度已用完 | 升级套餐提升额度,或次日重试 |
| 500000 | 服务器内部错误 | 携带响应中的 request_id 联系技术支持 |
| 502000 | 服务暂时不可用 | 稍后重试 |
| 503000 | 服务暂时不可用 | 稍后重试 |
| 504000 | 请求超时 | 稍后重试 |