AES加密解密算法代码
时间: 2023-11-13 09:57:58 浏览: 101
aes加密解密算法代码
5星 · 资源好评率100%
好的,以下是AES加密解密算法的Python代码:
```python
from Crypto.Cipher import AES
from Crypto.Util.Padding import pad, unpad
import base64
def aes_encrypt(key, data):
cipher = AES.new(key.encode('utf-8'), AES.MODE_CBC)
ct_bytes = cipher.encrypt(pad(data.encode('utf-8'), AES.block_size))
iv = base64.b64encode(cipher.iv).decode('utf-8')
ct = base64.b64encode(ct_bytes).decode('utf-8')
return iv, ct
def aes_decrypt(key, iv, ct):
iv = base64.b64decode(iv)
ct = base64.b64decode(ct)
cipher = AES.new(key.encode('utf-8'), AES.MODE_CBC, iv=iv)
pt_bytes = unpad(cipher.decrypt(ct), AES.block_size)
return pt_bytes.decode('utf-8')
```
其中,`aes_encrypt`函数用于加密数据,接受两个参数:`key`表示加密密钥,`data`表示要加密的数据。返回值是一个元组,包含两个字符串:`iv`表示加密时使用的初始化向量,`ct`表示加密后的密文。
`aes_decrypt`函数用于解密数据,接受三个参数:`key`表示解密密钥,`iv`表示加密时使用的初始化向量,`ct`表示要解密的密文。返回值是解密后的明文字符串。
阅读全文