ltsdangerous加密解密
Posted chichung
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ltsdangerous加密解密相关的知识,希望对你有一定的参考价值。
-
前言
在做QQ第三方登录时,用户跳转到QQ登录界面登录成功后,会在URL返回一个code参数。前端把code发送给后端。后端收到后,会查询出openid。然后判断openid是否存在,如果存在就可以绑定用户或新建用户。如果不存在,进把openid返回给前端。前端填完注册信息后,把openid、手机号码、用户名、密码等参数再发送给后端处理。
这时候,openid因为先传回去给前端,再传回来给后端。所以中间涉及了安全问题。万一别人篡改了openid呢?所以需要对openid进行加密!这时候就用到了ltsdangerous模块。
-
基本使用
(1)安装
pip install itsdangerous
(2)使用
TimedJSONWebSignatureSerializer 可以生成带有效期的加密数据
格式:
TimedJSONWebSignatureSerializer([秘钥], [有效期秒])
- 签名(加密): dumps(dict) 返回bytes类型数据
- 验签(解密): loads(str) 返回字典- 可以确保数据没有被篡改
- 数据会过期
- 解密出错异常
- BadData 父类
- SignatureExpired: 签名过期
- BadSignature: 要解密的数据被篡改
示例:
加密
a = TimedJSONWebSignatureSerializer("h8329hrjkewhf89sdy*()&",60*60) # b是加密后的字符串 b = a.dumps({"key":"我是不能暴露的信息"}).decode()
解密
# c是字典 c = a.loads(b) # 如果签名过期,抛异常SignatureExpired # 如果数据被篡改过,抛异常BadSignature
以上是关于ltsdangerous加密解密的主要内容,如果未能解决你的问题,请参考以下文章
Android 高级UI解密 :PathMeasure截取片段 与 切线(新思路实现轨迹变换)
Android 高级UI解密 :PathMeasure截取片段 与 切线(新思路实现轨迹变换)