PyCrypto —— 一个极好的信息安全python库
xmltodict:python中处理xml文件的模块、
itsdangerous:
使用itsdangerous生成临时身份令牌
安装
pip install itsdangerous
使用
import itsdangerous salt='sdaf'#加盐,指定一个盐值,别让别人知道哦,否则就可以解密出来了 t=itsdangerous.TimedJSONWebSignatureSerializer(salt,expires_in=600)#过期时间600秒 # ==============如何加密================== res=t.dumps({'username':'yangfan','user_id':1})# 在t中加入传输的数据 token=res.decode()#指定编码格式 print(token) # 得到的数据如下,就是包含数据和盐值的token了,只有在知道盐值的时候才能被解密出来 # eyJhbGciOiJIUzUxMiIsImlhdCI6MTU0MTgxOTcyMCwiZXhwIjoxNTQxODIwMzIwfQ.eyJ1c2VybmFtZSI6InlhbmdmYW4iLCJ1c2VyX2lkIjoxfQ.VjCgry9Sr-4iRsK_MHYThcn_O7js9BERrXzocc7BI1aavC3N3s3e0wWMsvq2-Qp-ol_WNMD23wxiYRrA1kwCbg # ======================加密的数据如何解析================= res=t.loads('eyJhbGciOiJIUzUxMiIsImlhdCI6MTU0MTgxOTcyMCwiZXhwIjoxNTQxODIwMzIwfQ.eyJ1c2VybmFtZSI6InlhbmdmYW4iLCJ1c2VyX2lkIjoxfQ.VjCgry9Sr-4iRsK_MHYThcn_O7js9BERrXzocc7BI1aavC3N3s3e0wWMsvq2-Qp-ol_WNMD23wxiYRrA1kwCbg') print(res) # 返回的数据如下: # {'username': 'yangfan', 'user_id': 1} # 我们试一下将解析的数据改一个字母,或者超过了过期时间