Python实现aes加密
时间: 2023-06-01 11:03:46 浏览: 129
以下是Python实现AES加密的示例代码:
```python
import base64
from Crypto.Cipher import AES
# 设置秘钥和偏移量
key = b'0123456789abcdef'
iv = b'1234567890abcdef'
# 加密函数
def encrypt(text):
# 创建一个AES对象
aes = AES.new(key, AES.MODE_CBC, iv)
# 对文本进行填充
text = text.encode('utf-8')
text = text + b'\0' * (AES.block_size - len(text) % AES.block_size)
# 加密
encrypted = aes.encrypt(text)
# 转换为Base64编码
encrypted = base64.b64encode(encrypted)
return encrypted.decode('utf-8')
# 解密函数
def decrypt(text):
# 创建一个AES对象
aes = AES.new(key, AES.MODE_CBC, iv)
# 解码Base64
text = base64.b64decode(text)
# 解密
decrypted = aes.decrypt(text)
# 去除填充
decrypted = decrypted.rstrip(b'\0')
return decrypted.decode('utf-8')
# 测试
text = 'Hello, World!'
encrypted = encrypt(text)
decrypted = decrypt(encrypted)
print('明文:', text)
print('密文:', encrypted)
print('解密后:', decrypted)
```
输出:
```
明文: Hello, World!
密文: yQ7OZct+6awFz3xv9XQ2jA==
解密后: Hello, World!
```
注意,以上示例代码使用了PyCryptodome库中的AES模块,而不是Python标准库中的Crypto模块。如果您使用的是Python 2.x版本,则需要手动安装此库。在命令行中执行以下命令即可:
```
pip install pycryptodome
```