Python使用DES加密解密


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

 

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

  1. 需要pyDes库; pip install pyDes 
  2. 秘钥; 只能是8位字符串 
  3. 填充方式; 如果要和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偏移量。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM