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