A-A+

Python 使用 DES 加密\解密 PAD_PKCS5

2021年04月10日 23:49 汪洋大海 暂无评论 阅读 440 views 次

最近要和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

布施恩德可便相知重

微信扫一扫打赏

支付宝扫一扫打赏

×

给我留言