python3 aes cbc模式解密_python3 AES 加解密

本文介绍了Python3中使用Crypto库实现AES加密解密的方法,包括ECB模式的简单加密解密以及CBC模式下结合PKCS7填充的加密解密过程,并提供了示例代码。
摘要由CSDN通过智能技术生成

#coding:utf-8

import base64

from Crypto.Cipher import AES #注:python3 安装 Crypto 是 pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple pycryptodome

#解密

def aes_decode(data, key):

try:

aes = AES.new(str.encode(key), AES.MODE_ECB) # 初始化加密器

decrypted_text = aes.decrypt(base64.decodebytes(bytes(data, encoding='utf8'))).decode("utf8") # 解密

decrypted_text = decrypted_text[:-ord(decrypted_text[-1])] # 去除多余补位

except Exception as e:

pass

return decrypted_text

#加密

def aes_encode(data, key):

while len(data) % 16 != 0: # 补足字符串长度为16的倍数

data += (16 - len(data) % 16) * chr(16 - len(data) % 16)

data = str.encode(data)

aes = AES.new(str.encode(key), AES.MODE_ECB) # 初始化加密器

return str(base64.encodebytes(aes.encrypt(data)), encoding='utf8'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值