【自动化测试】进行一次AES简单解密

python3.0后下载Crypto的文件库名是小写的,而它内部引用库名居然是大写的库名。可以参考:最快解决from Crypto.Cipher import AES报错问题_pittpakk的博客-CSDN博客 协助解决库名的情况。

1.导入库名

from Crypto.Cipher import AES
from Crypto.Util.Padding import unpad

 

2.将传入的密文转换成bytes,然后用16进制进行解码

code_text = bytes.fromhex(code_text)

 

3.密钥也需要16进制,如果直接拥有密钥,可以如下写法

key = b"ABcdeFGfhi"

 

4.创建解密对象。这里用的解密类型是 MODE_ECB

cipher = AES.new(key, AES.MODE_ECB)

 

5.开始解密密文

plain_text = cipher.decrypt(code_text)

 

6.最后一步是去掉无效的填充内容。由于解密后的密文还是以固定16位树展示,如果不足16位的话,会用无效字符进行填充

pad_plain_text = unpad(plain_text, AES.block_size, style='pkcs7')

 

7.用uff-8进行解密

pad_plain_text.decode('utf-8')

 

posted @ 2023-07-21 11:46  Xiao世  阅读(19)  评论(0编辑  收藏  举报