酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

编程实现 rsa 算法(非对称算法)针对照片加密和解密,生成加密后的图片和解密后的图片,语言方向:Python,系统环境:Windows

```python import rsa import cv2 def generate_keys(): # 生成公钥和私钥 (public_key, private_key) = rsa.newkeys(512) return public_key, private_key def encrypt_image(image_path, public_key): # 读取图片 image = cv2.imread(image_path) # 将图片数据转换为字节数组 image_bytes = image.tobytes() # 加密 encrypted_image_bytes = rsa.encrypt(image_bytes, public_key) # 保存加密后的图片 with open('encrypted_image.jpg', 'wb') as f: f.write(encrypted_image_bytes) def decrypt_image(encrypted_image_path, private_key): # 读取加密后的图片 with open(encrypted_image_path, 'rb') as f: encrypted_image_bytes = f.read() # 解密 decrypted_image_bytes = rsa.decrypt(encrypted_image_bytes, private_key) # 将字节数组转换回图片 decrypted_image = cv2.imdecode(np.frombuffer(decrypted_image_bytes, dtype=np.uint8), cv2.IMREAD_COLOR) # 保存解密后的图片 cv2.imwrite('decrypted_image.jpg', decrypted_image) public_key, private_key = generate_keys() encrypt_image('original_image.jpg', public_key) decrypt_image('encrypted_image.jpg', private_key) # 额外注意点: # 1. 确保生成的密钥足够安全和强壮。 # 2. 处理加密和解密过程中的异常情况。 # 3. 对图片的读取和保存路径要正确设置。 ``` [2025-01-05 18:35:28 | AI写代码神器 | 373点数解答]

相关提问