python AES加密算法解析demo
时间: 2023-09-23 18:10:03 浏览: 95
AES加密算法demo
以下是一个Python中使用AES加密算法的示例代码:
```python
from Crypto.Cipher import AES
import base64
# 初始化向量,必须是16位
iv = '0000000000000000'
# 加密密钥,必须是16位、24位或32位
key = 'abcdefghijklmnop'
# 待加密的明文
text = 'Hello, world!'
# 创建AES加密器
cipher = AES.new(key.encode('utf-8'), AES.MODE_CBC, iv.encode('utf-8'))
# 将明文转换成bytes类型,并按照AES加密器的块大小进行填充
text = text.encode('utf-8')
length = 16 - (len(text) % 16)
text += bytes([length]) * length
# 执行加密操作
ciphertext = cipher.encrypt(text)
# 将密文进行base64编码
result = base64.b64encode(ciphertext).decode('utf-8')
print(result)
```
此示例使用了PyCryptodome库中的AES模块进行加密操作。在示例中,我们需要指定一个16位的初始化向量iv和一个16位、24位或32位的加密密钥key。
我们创建了一个AES加密器,并使用CBC模式进行加密。然后将待加密的明文text转换成bytes类型,并按照加密器的块大小进行填充。最后执行加密操作并将密文进行base64编码。
在实际使用中,我们需要根据具体的需求对加密算法的参数进行调整。例如,可以使用其他加密模式、填充方式或密钥长度等。
阅读全文