aes 128的python加密和解密算法
时间: 2023-11-03 14:10:00 浏览: 88
python实现AES加密与解密
5星 · 资源好评率100%
以下是使用PyCryptodome库实现AES-128加密和解密的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, AES.MODE_ECB)
padded_data = pad(data.encode(), AES.block_size)
encrypted_data = cipher.encrypt(padded_data)
return base64.b64encode(encrypted_data).decode()
def aes_decrypt(key, encrypted_data):
cipher = AES.new(key, AES.MODE_ECB)
encrypted_data = base64.b64decode(encrypted_data.encode())
decrypted_data = cipher.decrypt(encrypted_data)
return unpad(decrypted_data, AES.block_size).decode()
if __name__ == '__main__':
key = b'0123456789abcdef'
data = 'hello world'
encrypted_data = aes_encrypt(key, data)
print('encrypted data:', encrypted_data)
decrypted_data = aes_decrypt(key, encrypted_data)
print('decrypted data:', decrypted_data)
```
在上面的示例中,我们使用了ECB模式进行加密和解密,需要注意的是,ECB模式不是最安全的模式,实际应用中需要根据实际需求选择更安全的模式,例如CBC模式。另外,需要注意密钥长度,AES-128算法的密钥长度为16字节。
阅读全文