python实现aes加解密算法
时间: 2023-08-24 18:04:54 浏览: 200
可以使用Python中的pycryptodome库来实现AES加解密算法。以下是示例代码:
```python
from Crypto.Cipher import AES
from Crypto.Util.Padding import pad, unpad
import base64
# 加密函数
def aes_encrypt(key, iv, data):
cipher = AES.new(key.encode('utf-8'), AES.MODE_CBC, iv.encode('utf-8'))
encrypted_data = cipher.encrypt(pad(data.encode('utf-8'), AES.block_size))
return base64.b64encode(encrypted_data).decode('utf-8')
# 解密函数
def aes_decrypt(key, iv, encrypted_data):
cipher = AES.new(key.encode('utf-8'), AES.MODE_CBC, iv.encode('utf-8'))
decrypted_data = unpad(cipher.decrypt(base64.b64decode(encrypted_data)), AES.block_size)
return decrypted_data.decode('utf-8')
# 测试
key = '1234567890123456'
iv = '1234567890123456'
data = 'Hello, world!'
encrypted_data = aes_encrypt(key, iv, data)
print(encrypted_data)
decrypted_data = aes_decrypt(key, iv, encrypted_data)
print(decrypted_data)
```
注意:在实际应用中,需要保证key和iv的安全性,可以通过加密保存或者使用其他加密手段来保证其安全性。
阅读全文