加密解密itsdangerous
安装
pip install itsdangerous
加密
from itsdangerous import TimedJSONWebSignatureSerializer as TJWSS
# 参数(加密的秘钥, 加密的时间(秒)) tjwss = TJWSS('yyf', 20) # Django中setting中自带了一个秘钥
# 加密的数据 data = { 'id': 123, }
# 加密数据, 但会bytes类型数据 token = tjwss.dumps(data).decode() print(token)
# eyJhbGciOiJIUzUxMiIsImlhdCI6MTU2NTU3MDMxNCwiZXhwIjoxNTY1NTcwMzM0fQ.eyJpZCI6MTIzfQ.xlwK7Lx40IZAz2fU-g2YnlQPp3_daJNSYLnV6u23YOcgthq0Vd8447h3kj-iH_i0dzfuyHlc8_OB0fkpVtQhMw
解密
from itsdangerous import TimedJSONWebSignatureSerializer as TJWSS from itsdangerous import SignatureExpired tjwss = TJWSS('yyf')
# 过期会报异常, 使用try捕获 try: data = tjwss.loads('eyJhbGciOiJIUzUxMiIsImlhdCI6MTU2NTU3MDM5MCwiZXhwIjoxNTY1NTcwNDEwfQ.eyJpZCI6MTIzfQ.ANvZkCz7amoegwKSZOiGfAITFYo3IX2nx73b3MKvm7gYzA2UkbBytNqH2mdpwfAstnwz6DJMPtv1LbVW6lyH1g')
print(data)
except SignatureExpired as e: print('token已过期')
# 成功
# {'id': 123}
# 异常
# itsdangerous.exc.SignatureExpired: Signature expired

浙公网安备 33010602011771号