JWT格式化

HEADER
PAYLOAD
STATUS

🔐 JWT 简介

什么是 JWT?

JWT 全称 JSON Web Token,是一种用于 身份验证和信息传递 的开放标准(RFC 7519)。

它是一段加密签名的字符串,结构如下:

xxxxx.yyyyy.zzzzz

由三部分组成(都是 Base64 编码):

  1. Header:令牌类型 + 签名算法(如 HS256)
  2. Payload:携带的数据(如用户信息、权限)
  3. Signature:签名(防篡改)

🧠 适合场景:


🧪 Python 使用示例(用 PyJWT 库)

📦 安装

pip install PyJWT

🛠 1. 生成 JWT Token

import jwt
import datetime

# 你的密钥
SECRET_KEY = 'my-secret-key'

# 生成 Token
payload = {
'user_id': 123,
'username': 'alice',
'exp': datetime.datetime.utcnow() + datetime.timedelta(hours=1) # 1小时后过期
}

token = jwt.encode(payload, SECRET_KEY, algorithm='HS256')
print("JWT:", token)

🛠 2. 验证并解码 Token

try:
decoded = jwt.decode(token, SECRET_KEY, algorithms=['HS256'])
print("Payload:", decoded)
except jwt.ExpiredSignatureError:
print("Token 已过期")
except jwt.InvalidTokenError:
print("无效的 Token")

🚨 注意事项