JWT 工具 - JWTUtil¶
由来¶
JWT(JSON Web Token)是一种网络身份认证和信息交换格式。JWTUtil 基于 PyJWT 封装,提供简洁的 JWT 操作接口。
JWT 结构¶
Header:头部信息,声明签名算法
Payload:载荷信息,承载声明和数据
Signature:签名,用于校验数据
整体结构:header.payload.signature
使用¶
生成 Token¶
from hutool import JWTUtil
# 生成 Token(默认 HS256 算法)
token = JWTUtil.create_token(
{"sub": "1234567890", "name": "张三", "admin": True},
secret="my-secret-key"
)
# "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9..."
# 使用其他算法
token = JWTUtil.create_token(
{"sub": "1234567890"},
secret="my-secret-key",
algorithm="HS512"
)
解析 Token¶
# 解析并验证签名
payload = JWTUtil.parse_token(token, secret="my-secret-key")
# {"sub": "1234567890", "name": "张三", "admin": True}
验证 Token¶
# 验证签名是否有效
JWTUtil.verify(token, secret="my-secret-key") # True
JWTUtil.verify(token, secret="wrong-key") # False
获取 Payload(不验证签名)¶
# 不验证签名,仅解码
payload = JWTUtil.get_payload(token)
# {"sub": "1234567890", "name": "张三", "admin": True}
支持的算法¶
算法 |
说明 |
|---|---|
HS256 |
HMAC-SHA256(默认) |
HS384 |
HMAC-SHA384 |
HS512 |
HMAC-SHA512 |
RS256 |
RSA-SHA256 |
RS384 |
RSA-SHA384 |
RS512 |
RSA-SHA512 |