aes加密算法python语言实现
时间: 2024-03-28 08:32:37 浏览: 160
AES(Advanced Encryption Standard)是一种对称加密算法,常用于数据加密和解密。在Python中,可以使用PyCryptodome库来实现AES加密算法。
首先,需要安装PyCryptodome库。可以使用以下命令进行安装:
```
pip install pycryptodome
```
接下来,可以使用以下代码示例来实现AES加密和解密:
```python
from Crypto.Cipher import AES
from Crypto.Util.Padding import pad, unpad
from Crypto.Random import get_random_bytes
# 生成随机的16字节密钥
key = get_random_bytes(16)
# 创建AES加密器和解密器
cipher = AES.new(key, AES.MODE_CBC)
decipher = AES.new(key, AES.MODE_CBC, cipher.iv)
# 加密数据
data = b'This is a secret message'
ciphertext = cipher.encrypt(pad(data, AES.block_size))
# 解密数据
plaintext = unpad(decipher.decrypt(ciphertext), AES.block_size)
# 打印结果
print("加密后的数据:", ciphertext)
print("解密后的数据:", plaintext)
```
上述代码中,首先使用`get_random_bytes`函数生成一个16字节的随机密钥。然后,使用`AES.new`函数创建一个AES加密器和解密器,其中加密器使用CBC模式,并指定初始向量(iv)。接下来,使用加密器的`encrypt`方法对数据进行加密,并使用解密器的`decrypt`方法对密文进行解密。最后,使用`unpad`函数去除解密后的数据的填充,并打印加密后和解密后的数据。
注意:在实际使用中,需要确保加密和解密使用相同的密钥和初始向量。
阅读全文