A-A+
Python 使用 DES 加密\解密 PAD_PKCS5
最近要和Java组做加密对接,最终采用的是DES加密方式,加密之后的字节通过base64转化成字符串,再通过jwt加密之后传输。
本篇文章单纯记录一下Python中DES加密的使用方式,很简单,直接看代码:
需要pyDes库; pip install pyDes
秘钥; 只能是8位字符串
填充方式; 如果要和Java对接,这个要商议好,如果自己试验玩玩就无所谓了
1 2 3 4 5 6 7 8 9 10 11 12 | # des模式 填充方式 ECB加密方式 from pyDes import des, PAD_PKCS5, ECB # 秘钥 (如果和Java对接,两边要有相同的秘钥) DES_SECRET_KEY = '12345678' s = '这是一段明文'.encode() # 这里中文要转成字节, 英文好像不用 des_obj = des(DES_SECRET_KEY, ECB, DES_SECRET_KEY, padmode=PAD_PKCS5) # 初始化一个des对象,参数是秘钥,加密方式,偏移, 填充方式 secret_bytes = des_obj.encrypt(s) # 用对象的encrypt方法加密 s = des_obj.decrypt(secret_bytes) # 用对象的decrypt方法解密 print(secret_bytes) print(s.decode()) |
和其他语言或者开发者对接的时候,主要是统一一下des加密的秘钥、填充方式、和加密方式(如ECB),这里初始化des对象的时候,第一个参数和第三个参数都是secret_key,这个没有写错,第三个好像是什么VI偏移量。
文章来源:https://www.cnblogs.com/lvpzs/p/des.html
布施恩德可便相知重
微信扫一扫打赏
支付宝扫一扫打赏