aes加密算法 python
时间: 2024-05-17 21:10:35 浏览: 127
AES加密算法是一种常用的对称加密算法,它可以对数据进行加密和解密。在Python中,可以使用PyCryptodome库来实现AES加密算法。
具体来说,PyCryptodome库提供了AES模块,使用起来非常简单。首先需要导入AES模块,然后创建一个AES对象,设置密钥和加密模式(如ECB、CBC等),最后调用encrypt方法进行加密或decrypt方法进行解密。
下面是一个简单的示例代码:
```python
from Crypto.Cipher import AES
import base64
# 加密函数
def aes_encrypt(key, data):
# 设置加密模式为ECB
cipher = AES.new(key.encode('utf-8'), AES.MODE_ECB)
# 对数据进行补全
data = data + (16 - len(data) % 16) * '\0'
# 加密数据
encrypted_data = cipher.encrypt(data.encode('utf-8'))
# 对加密后的数据进行base64编码
return base64.b64encode(encrypted_data).decode('utf-8')
# 解密函数
def aes_decrypt(key, encrypted_data):
# 设置加密模式为ECB
cipher = AES.new(key.encode('utf-8'), AES.MODE_ECB)
# 对加密后的数据进行base64解码
encrypted_data = base64.b64decode(encrypted_data)
# 解密数据
decrypted_data = cipher.decrypt(encrypted_data).decode('utf-8')
# 去掉补全的'\0'
return decrypted_data.rstrip('\0')
# 测试代码
key = '1234567890123456'
data = 'Hello, world!'
encrypted_data = aes_encrypt(key, data)
print('encrypted data:', encrypted_data)
decrypted_data = aes_decrypt(key, encrypted_data)
print('decrypted data:', decrypted_data)
```
阅读全文