怎么对我桌面上的图片进行加密解密


可以使用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. 在处理大量图片时,可能会消耗较多的内存和时间,建议分批处理。 [2025-06-30 19:54:03 | AI写代码神器 | 602点数解答]
- 作为**工程师,loadrunner 进行**的标准流程? 📋(215点数解答 | 2023-11-09 18:25:31)254
- 作为python开发,图片、视频爬取怎么绕过防盗连接?(378点数解答 | 2023-11-08 00:54:44)202
- java 如何读取 webp格式 图片(539点数解答 | 2024-03-06 20:55:50)243
- java 如何读取 webp格式 图片 以及对应 maven依赖(592点数解答 | 2024-03-06 21:00:26)430
- java 如何读取 webp格式 图片(502点数解答 | 2024-03-06 21:03:06)431
- 利用 python 将 ppt每一页 转为 图片(315点数解答 | 2024-04-23 10:01:04)1210
- 编写微信小程序:一、作业内容和要求 1. 编写一个微信小程序,显示3段文字信息(要求内容包括自己的班级、姓名和个人简介等),其中第1段文字利用class属性和来自app.wxss文件中定义的样式类来设置字体和文本信息,第2段文字利用class属性和来自index.wxss文件中定义的样式类来设置字体和文本信息,第3段文字利用style来设置字体和文本样式。 2. 将程序代码(代码文本)和程序的运行结果(图片)粘贴在下面相应的位置,将word文档另存为pdf文件,并将pdf文件上交。否则扣5分。 二、评分标准 若小程序中未显示个人班级、姓名和简介,或者显示的与作业报告上填写的班级姓名不一致,则此次作业总分为0(即以下各项评分点皆给0分)。 1. 程序代码(70分),评分标准如下: 利用app.wxss文件中定义的样式类来设置字体和文字样式(20分) 利用index.wxss文件中定义的样式类来设置字体和文字样式(20分) 利用style设置文本样式(20分) 每个样式类中的样式属性要大于5个,少一个扣2分(10分)(748点数解答 | 2024-10-22 16:07:00)359
- 我想做一个个人网页,希望是一个单页面应用,所有需要的东西都使用cdn或者不需要复杂的框架的方式实现。 以下是详细的个人网页设计方案包括:照片轮播、社交媒体链接和一个ai对话界面。 页面整体设计 1. 头部(header) 背景:使用渐变色背景,颜色可以从浅蓝渐变到深蓝,给人一种清新、现代的感觉。 导航栏:在头部右角放置一个导航栏,包含几个主要部分:“首页”(默认)、“关于我”、“作品集”、“***”。每个部分使用简洁的白色字体,鼠标悬停时显示下划线或者颜色变化。 个人logo:左上角放置一个正方形的个人logo,点击可以回到首页。 搜索框(可选):做上角logo下面可以添加一个简约的搜索框,虽然个人网站可能用不上,但增加一些互动性和专业感。 2. 轮播图(carousel) 位置:头部下方,占据页面大部分宽度,高度可以设置为屏幕高度的30%-40%。 图片:展示3-5张高质量的个人照片,每张照片都有过渡效果,如淡入淡出、滑动等。 文字:每张图片下方可以添加一句简短的文字描述,例如“在巴黎的旅行照”、“工作室的日常”等,字体颜色与背景形成对比,确保清晰可见。 指示器:左右两侧放置小圆点(485点数解答 | 2024-10-28 23:31:13)189
- 我想做一个个人网页,希望是一个单页面应用,所有需要的东西都使用cdn或者不需要复杂的框架的方式实现。 以下是详细的个人网页设计方案包括:照片轮播、社交媒体链接和一个ai对话界面。 页面整体设计 1. 头部(header) 背景:使用渐变色背景,颜色可以从浅蓝渐变到深蓝,给人一种清新、现代的感觉。 导航栏:在头部右角放置一个导航栏,包含几个主要部分:“首页”(默认)、“关于我”、“作品集”、“***”。每个部分使用简洁的白色字体,鼠标悬停时显示下划线或者颜色变化。 个人logo:左上角放置一个正方形的个人logo,点击可以回到首页。 搜索框(可选):做上角logo下面可以添加一个简约的搜索框,虽然个人网站可能用不上,但增加一些互动性和专业感。 2. 轮播图(carousel) 位置:头部下方,占据页面大部分宽度,高度可以设置为屏幕高度的30%-40%。 图片:展示3-5张高质量的个人照片,每张照片都有过渡效果,如淡入淡出、滑动等。 文字:每张图片下方可以添加一句简短的文字描述,例如“在巴黎的旅行照”、“工作室的日常”等,字体颜色与背景形成对比,确保清晰可见。 指示器:左右两侧放置小圆点(1752点数解答 | 2024-10-28 23:32:45)176
- 利用 python 将 ppt每一页 转为 图片(692点数解答 | 2024-10-30 18:08:44)330
- 利用 python 将 ppt每一页 转为 图片 (462点数解答 | 2025-02-17 17:26:45)199
- 下面是无名杀变换武将图的代码: if(player.name=="武将名"&&player.name2!="武将名"){ player.node.avatar.setBackgroundImage('image/character/图片.jpg'); } 现在生成无名杀技能代码;技能效果:回合结束时,变换武将图。(340点数解答 | 2025-07-14 23:03:21)102