python jwt加密与解密

BOYE / 2024-09-24 / 原文

安装

pip install PyJWT

  

example

import datetime
import jwt
#pip install PyJWT # PyJWT-2.8.0 

secret_key="test"
payload = {
'user_id': 12345,
'username': 'john_doe',
'exp': datetime.datetime.utcnow() + datetime.timedelta(seconds=3600), # 1小时后过期
'iat': datetime.datetime.utcnow()
}

encoded_jwt = jwt.encode(payload, secret_key, algorithm='HS256')
print(encoded_jwt)


try:
    decoded_jwt = jwt.decode(encoded_jwt, secret_key, algorithms=['HS256'])
    print("验证成功,用户信息:", decoded_jwt)
except jwt.ExpiredSignatureError:
    print("Token已过期")
except jwt.InvalidTokenError:
    print("无效的Token")