python3使用3des加密
2020-07-21 本文已影响0人
S_jie
python3使用能支持3des加密的库有好几个,但是很多都已经不再更新,下载后使用过程也是一堆的坑,研究了一天多多少少整理出来一点头绪了。这里用的是pyDes
安装pyDes
pip install pyDes
案例:
import pyDes
import base64
data = 'hello'
key = "kkk11111" # 加密key,加密方式ECB秘钥必须是八位字节
mode = pyDes.ECB # 加密方式 默认是ECB,也可以不填写
IV = "00000000" # 偏移量,加密方式不是ECB的时候加密key字段必须是16位字节,秘钥不够用0补充
k = pyDes.des(key, mode, IV=IV, pad=None, padmode=pyDes.PAD_PKCS5) # 传入秘钥,加密方式
d = k.encrypt(data) # 加密数据
base = str(base64.b64encode(d), encoding="utf-8") # 指定输出格式为base64
print(base)
加密出来的去验证一下
结果一样.
=====================分割线=====================================
如果是中文就需要在加密前用提现编码
data = "你好"
data = data.encode('utf-8')
=====================分割线=====================================
如果和我一样是传入json格式的话,就得转成标准的json格式
import json
data = {"role_name": "测试"}
data = json.dumps(data)