django加密

django做接口需要对重要信息进行加密和解密。

# 需要安装pip install itsdangerous
from itsdangerous import TimedJSONWebSignatureSerializer as Serializer
# 自己设置的秘钥
secret_key = 'ihdskjghksdf4356fd'
expires_in = None #如果是None默认3600,可以自己设置时间,单位(s),eg:3600


class SecretOauth(object):
    def __init__(self):
        self.serializer = Serializer(secret_key=secret_key, expires_in=expires_in)

    # 加密
    def dumps(self, content_dict):
        token = self.serializer.dumps(content_dict).decode()
        return token

    # 解密
    def loads(self, token):
        try:
            content_dict = self.serializer.loads(token)
        except Exception as e:
            print(e)
            return None
        return content_dict


if __name__ == '__main__':
    res = SecretOauth().dumps(content_dict={'session_key': 'kdshgjkhskjd8', 'openid': 'hdskghkj884j'})
    print('加密后:', res)
    import time
    time.sleep(2)
    res2 = SecretOauth().loads(res)
    print('解密后:', res2)
    print(res2.get('session_key'))
    print(res2['session_key'])

源码说明的expires_in:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值