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语句中