Python实现桌面图片加密解密:简单异或算法全解析
可以使用Python编写脚本来对桌面上的图片进行加密和解密,这里采用简单的异或加密算法。 代码实现 ```python import os from pathlib import Path # 加密函数 def encrypt_image(input_path, output_path, key): # 以二进制模式打开输入的图片文件 with open(input_path, 'rb') as f_in: # 读取图片的二进制数据 data = f_in.read() # 对数据进行异或加密 encrypted_data = bytes([b ^ key for b in data]) # 以二进制模式打开输出文件并写入加密后的数据 with open(output_path, 'wb') as f_out: f_out.write(encrypted_data) # 解密函数 def decrypt_image(input_path, output_path, key): # 调用加密函数进行解密,因为异或加密和解密操作是相同的 encrypt_image(input_path, output_path, key) # 获取桌面路径 desktop_path = Path.home() / 'Desktop' # 加密密钥,这里使用一个简单的整数值作为密钥 key = 123 # 遍历桌面上的所有图片文件 for file in desktop_path.iterdir(): if file.suffix.lower() in ['.jpg', '.jpeg', '.png', '.gif']: # 加密图片 encrypted_file = file.with_name(file.stem + '_encrypted' + file.suffix) encrypt_image(file, encrypted_file, key) # 解密图片 decrypted_file = file.with_name(file.stem + '_decrypted' + file.suffix) decrypt_image(encrypted_file, decrypted_file, key) ``` 代码解释 1. 加密函数 `encrypt_image`:该函数接受输入文件路径、输出文件路径和加密密钥作为参数。它以二进制模式打开输入文件,读取文件内容,然后对每个字节进行异或运算,最后将加密后的数据写入输出文件。 2. 解密函数 `decrypt_image`:由于异或加密的特性,解密操作与加密操作相同,因此直接调用 `encrypt_image` 函数。 3. 遍历桌面图片:使用 `Path.home() / 'Desktop'` 获取桌面路径,然后遍历桌面上的所有图片文件(`.jpg`, `.jpeg`, `.png`, `.gif`),对每个图片文件进行加密和解密操作。 额外注意的逻辑点 1. 异或加密是一种简单的加密算法,安全性较低,不适合用于保护敏感信息。 2. 加密和解密使用的密钥必须相同,否则无法正确解密。 3. 在处理大量图片时,可能会消耗较多的内存和时间,建议分批处理。 ######[AI写代码神器 | 602点数解答 | 2025-06-30 19:54:03]
- Python实现AES加密解密:含代码示例与关键注意点(字节豆包 | 836点数解答 | 2025-10-14 16:35:32)76
- Python 运行报错:urllib3 网络连接创建失败,原因及排查建议(字节豆包 | 161点数解答 | 2024-10-31 00:39:36)479
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)362
- Python 实战:学生信息列表转字典、遍历、深拷贝及数据修改全流程(GPT | 422点数解答 | 2024-10-29 15:43:54)432
- Python实战:学生成绩列表转字典,深拷贝与数据修改操作全解析(字节豆包 | 254点数解答 | 2024-10-29 16:01:39)426
- Golang开发:解析JSON数据时数值默认类型及示例解析(百度文心 | 393点数解答 | 2023-11-09 18:13:06)296
- SQL Working Areas Sizing: Manual vs. Automatic Policy - A Comprehensive Analysis(阿里通义 | 530点数解答 | 2024-05-13 10:55:58)317
- Python 在 Windows 系统下编程实现 RSA 算法对照片加密与解密(字节豆包 | 373点数解答 | 2025-01-05 18:35:28)368
- Python 在 Windows 系统下编程实现 RSA 算法对照片加密与解密:附代码及注意事项(GPT | 1269点数解答 | 2025-01-05 18:37:09)256
- Python在Windows系统下实现RSA算法对手写签名照片加密解密,附代码及关键逻辑 (GPT | 786点数解答 | 2025-01-05 18:37:20)314
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)333
- Java调用Python接口中文乱码?设置UTF - 8编码一招解决!(讯飞星火 | 263点数解答 | 2024-06-06 17:07:59)406