Python使用DES加密解密

最近要和Java组做加密对接,最终采用的是DES加密方式,加密之后的字节通过base64转化成字符串,再通过jwt加密之后传输。

本篇文章单纯记录一下Python中DES加密的使用方式,很简单,直接看代码:

需要pyDes库; pip install pyDes 

秘钥; 只能是8位字符串 

填充方式; 如果要和Java对接,这个要商议好,如果自己试验玩玩就无所谓了 

1 # des模式 填充方式 ECB加密方式 2 from pyDes import des, PAD_PKCS5, ECB 3 4 5 # 秘钥 (如果和Java对接,两边要有相同的秘钥) 6 DES_SECRET_KEY = '12345678' 7 s = '这是一段明文'.encode() # 这里中文要转成字节, 英文好像不用 8 des_obj = des(DES_SECRET_KEY, ECB, DES_SECRET_KEY, padmode=PAD_PKCS5) # 初始化一个des对象,参数是秘钥,加密方式,偏移, 填充方式 9 secret_bytes = des_obj.encrypt(s) # 用对象的encrypt方法加密 10 s = des_obj.decrypt(secret_bytes) # 用对象的decrypt方法解密 11 print(secret_bytes) 12 print(s.decode())

总结:

和其他语言或者开发者对接的时候,主要是统一一下des加密的秘钥填充方式、和加密方式如ECB,这里初始化des对象的时候,第一个参数和第三个参数都是secret_key,这个没有写错,第三个好像是什么VI偏移量。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/31eb074a6d5101f0c6651a21cfa7a4ea.html