加密解密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

 

posted @ 2019-08-12 08:50  yyfgrd  阅读(294)  评论(0)    收藏  举报