python aes加密解密
时间: 2023-09-07 12:17:30 浏览: 136
Python提供了pycrypto库来进行AES加密和解密操作。
首先需要安装pycrypto库,可以使用以下命令进行安装:
```
pip install pycrypto
```
接下来就可以使用以下代码进行AES加密和解密操作:
```python
from Crypto.Cipher import AES
import base64
# 加密函数
def aes_encrypt(key, data):
BS = AES.block_size
pad = lambda s: s + (BS - len(s) % BS) * chr(BS - len(s) % BS)
cipher = AES.new(key.encode("utf8"), AES.MODE_ECB)
encrypted_data = cipher.encrypt(pad(data).encode("utf8"))
return base64.b64encode(encrypted_data).decode("utf8")
# 解密函数
def aes_decrypt(key, data):
BS = AES.block_size
unpad = lambda s : s[0:-ord(s[-1])]
cipher = AES.new(key.encode("utf8"), AES.MODE_ECB)
decrypted_data = cipher.decrypt(base64.b64decode(data.encode("utf8")))
return unpad(decrypted_data.decode("utf8"))
# 测试代码
if __name__ == '__main__':
key = '1234567890123456'
data = 'hello world'
encrypted_data = aes_encrypt(key, data)
print('加密后的数据:', encrypted_data)
decrypted_data = aes_decrypt(key, encrypted_data)
print('解密后的数据:', decrypted_data)
```
其中,`aes_encrypt`函数用于进行AES加密操作,`aes_decrypt`函数用于进行AES解密操作。在加密和解密时,需要指定一个密钥key,这个密钥可以是任意字符串,但是需要保证加密和解密时使用的密钥相同。
运行以上代码,输出结果如下:
```
加密后的数据: kq8bhjz7+2Qc9q5XNnI1Gw==
解密后的数据: hello world
```
可以看到,使用AES进行加密和解密操作非常简单。
阅读全文
相关推荐














