AES图像加密python实现
时间: 2024-10-25 10:00:50 浏览: 14
在Python中使用M2Crypto模块实现AES加密的教程
AES(Advanced Encryption Standard),即高级加密标准,是一种广泛使用的块密码算法,用于数据加密。在Python中,我们可以使用`cryptography`库来实现AES图像加密。以下是一个简单的例子:
```python
from cryptography.fernet import Fernet
import base64
from PIL import Image
def aes_encrypt_image(image_path, key):
# 加密部分
with open(image_path, 'rb') as img_file:
img_data = img_file.read()
f = Fernet(key)
encrypted_data = f.encrypt(img_data)
# 将加密后的二进制数据转换为Base64字符串便于存储或传输
encrypted_base64 = base64.b64encode(encrypted_data).decode('utf-8')
return encrypted_base64
def aes_decrypt_image(encoded_img, key):
decoded_img = base64.b64decode(encoded_img)
f = Fernet(key)
decrypted_data = f.decrypt(decoded_img)
with open('decrypted_image.jpg', 'wb') as out_file:
out_file.write(decrypted_data)
# 使用示例
key = b'some_random_key_32_bytes_long' # 生成一个随机秘钥
encoded_img = aes_encrypt_image('image.jpg', key)
aes_decrypt_image(encoded_img, key) # 解密回原图
阅读全文