完整电商项目--(四)用户登录(5):QQ登录- 账号绑定中的数据加密,解密操作itsdangerous

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

包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!

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值