包itsdangerous(官方文档)
-
能够安全的 加密,解密数据
-
保证安全性的方式:私钥
-
安装
pip install -U itsdangerous
- 我们使用其中的JWS接口,就是 JSON Web SignatureSerializer
- 找到对应的文档信息:

使用这个类提供的功能是带有 时间限制的。

通过这个类构建我们自己的加密,解密工具
上代码:
# 封装以下 加密解密的方法,使用起来更加方便
from itsdangerous.jws import TimedJSONWebSignatureSerializer
from django.conf import settings
# 加密
def dumps(json, expires):
'''
将字典加密,返回加密字符串
:param json: 字典
:return: 字符串
'''
serializer = TimedJSONWebSignatureSerializer(settings.SECRET_KEY, expires_in=expires)
json_str = serializer.dumps(json).decode() # 得到的是 byte类型的数据。 转为字符串
return json_str
# 解密
def loads(json_str, expires):
'''
将加密字符串解密
:param json_str: 加密字符串
:return: 字典
'''
serializer = TimedJSONWebSignatureSerializer(settings.SECRET_KEY, expires_in=expires)
try:
json = serializer.loads(json_str)
except:
# 如果字符串被修改过,或超期,会抛异常
return None
else:
return json
- 有了这个加密,解密工具。我们在 进行 上节中 openid 和 网站用户绑定的时候,就可以保证数据的正确性,以及安全性。 否则别人随便发来一些信息,都能当做 openid来绑定我的 网站用户,那还得了~
over!

459

被折叠的 条评论
为什么被折叠?



