itsdangerous.TimedJSONWebSignatureSerializer

在用户进行邮箱验证的时候,我们会给用户提供一个激活链接。此链接会携带上用户的相关信息,用于判断登录用户。但是将用户的个人信息以明文的形式展示是不安全的所以我们用到了

itsdangerous

安装:

pip install itsdangerous

使用TimedJSONWebSignatureSerializer加密

from itsdangerous import TimedJSONWebSignatureSerializer as Serializer
serializer = Serializer(secret_key = "kashfiabfihiadiha", expires_in=60*60)
#secret_key:用于加盐
#expires_in:过期时间
data = {'user_id': user.id, 'email': user.email}
#准备要加密的数据
token = serializer.dumps(data).decode()
#加密操作,注意serializer.dumps(data)生成的密文是bytes类型的,decode是转成字符串形式
#对于激活链接需要进行拼接
url+'?token=' + token

使用TimedJSONWebSignatureSerializer解密

from itsdangerous import TimedJSONWebSignatureSerializer as Serializer
serializer = Serializer(secret_key = "kashfiabfihiadiha", expires_in=60*60)
result = serializer.loads(token)
#这里的token是之前加密的token,当超过了时限或者是值有误就会报错,BadData

 一般进行解密需要放在try...except语句中

posted @ 2021-05-21 09:47  EF果果  阅读(1390)  评论(0编辑  收藏  举报