用python写以恶个aes加密
时间: 2023-11-19 12:55:52 浏览: 87
好的,以下是一个使用Python实现AES加密的示例代码:
```
from Crypto.Cipher import AES
import base64
# 定义加密函数
def encrypt(text, key, iv):
cipher = AES.new(key, AES.MODE_CBC, iv)
# 加密前需要将原始文本按照AES块大小进行填充
text = text + (AES.block_size - len(text) % AES.block_size) * chr(AES.block_size - len(text) % AES.block_size)
# 加密并返回Base64编码后的结果
return base64.b64encode(cipher.encrypt(text.encode('utf-8'))).decode('utf-8')
# 测试
text = 'Hello, world!'
key = b'This is a 16 key'
iv = b'This is an IV123'
encrypted = encrypt(text, key, iv)
print('加密后的结果:', encrypted)
```
在上面的示例代码中,我们使用了PyCryptodome库中的AES模块来进行加密。首先我们定义了一个`encrypt()`函数,它接收三个参数:明文、密钥和初始化向量。在函数内部,我们使用`AES.new()`函数创建了一个AES加密器对象,并指定了加密模式为CBC和初始化向量。然后我们对明文进行填充,并使用加密器对象的`encrypt()`函数进行加密。最后我们将加密结果进行Base64编码,并将编码后的结果返回。
在测试部分,我们定义了一个明文字符串、一个16字节的密钥和一个16字节的初始化向量,并将它们作为参数传递给`encrypt()`函数。我们最终输出了加密后的结果。
阅读全文