aes加密算法代码实现
时间: 2023-11-01 13:07:26 浏览: 63
好的,以下是AES加密算法的Python实现代码:
```python
from Crypto.Cipher import AES
import base64
# 加密函数
def aes_encrypt(key, data):
# 将key和data补齐为16的倍数
key = key.encode('utf-8')
data = data.encode('utf-8')
key = key + (b'\0' * (16 - len(key) % 16))
data = data + (b'\0' * (16 - len(data) % 16))
# 创建AES对象并进行加密
aes = AES.new(key, AES.MODE_ECB)
encrypted_data = aes.encrypt(data)
# 对加密后的数据进行base64编码
encrypted_data = base64.b64encode(encrypted_data).decode('utf-8')
return encrypted_data
# 解密函数
def aes_decrypt(key, encrypted_data):
# 将key补齐为16的倍数
key = key.encode('utf-8')
key = key + (b'\0' * (16 - len(key) % 16))
# 对加密后的数据进行base64解码
encrypted_data = base64.b64decode(encrypted_data.encode('utf-8'))
# 创建AES对象并进行解密
aes = AES.new(key, AES.MODE_ECB)
decrypted_data = aes.decrypt(encrypted_data)
decrypted_data = decrypted_data.rstrip(b'\0').decode('utf-8')
return decrypted_data
```
其中,`key`为加密密钥,`data`为待加密的数据,`encrypted_data`为已加密的数据。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)