C#图片加密与解密:字节操作实现磁盘存储
需积分: 9 89 浏览量
更新于2024-09-13
1
收藏 2KB TXT 举报
本篇文章主要介绍了如何在C#中通过操作图片对象的字节来实现图片的变相加密和解密,并在磁盘上存储。以下是关键知识点的详细解释:
1. **图片字节操作:**
C#中,首先将图片(如pictureBox1中的Image)转换为byte数组(byteArray),这通常通过`System.Text.Encoding.Default.GetBytes()`方法实现,如将URL字符串"http://freeliver54.cnblogs.com/"转换为字节序列。这样做可以作为加密密钥或隐藏信息。
2. **内存流处理:**
使用`System.IO.MemoryStream`来临时存储图片数据。在`button1_Click`事件中,将包含加密信息的byteArray写入MemoryStream中,然后通过`img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg)`将MemoryStream中的内容保存为JPEG格式的图片。
3. **加密与存储:**
创建一个`BinaryWriter`实例,使用`File.Open`打开目标文件(如"F:\\images\\20081014.jpg"),并写入MemoryStream的内容。这样就实现了对原始图片的加密存储。加密是通过替换原始图片的数据实现的,解密时需要相同的加密密钥进行恢复。
4. **解密与读取:**
在`button2_Click`事件中,通过`FileStream`读取加密后的图片文件到byte数组`byteArrayFile`。这里假设解密的关键步骤是在读取时执行的,但文章没有提供具体的解密算法,可能需要根据加密时使用的密钥和操作进行逆向操作。
5. **临时文件与清理:**
在操作完成后,确保关闭`FileStream`, `BinaryWriter`, 和 `MemoryStream`以释放系统资源。
这种技术虽然不能提供传统的加密安全级别,但可以在一定程度上保护图片数据不被轻易查看,适用于简单的保密需求或教学示例。需要注意的是,对于实际应用中的加密,应该使用专业的加密库和算法,如AES、RSA等,以确保数据安全。
161 浏览量
157 浏览量
2021-03-29 上传
132 浏览量
2013-11-20 上传
2022-05-07 上传
lglyjlylglyjly
- 粉丝: 6
- 资源: 22
最新资源
- 前端协作项目:发布猜图游戏功能与待修复事项
- Spring框架REST服务开发实践指南
- ALU课设实现基础与高级运算功能
- 深入了解STK:C++音频信号处理综合工具套件
- 华中科技大学电信学院软件无线电实验资料汇总
- CGSN数据解析与集成验证工具集:Python和Shell脚本
- Java实现的远程视频会议系统开发教程
- Change-OEM: 用Java修改Windows OEM信息与Logo
- cmnd:文本到远程API的桥接平台开发
- 解决BIOS刷写错误28:PRR.exe的应用与效果
- 深度学习对抗攻击库:adversarial_robustness_toolbox 1.10.0
- Win7系统CP2102驱动下载与安装指南
- 深入理解Java中的函数式编程技巧
- GY-906 MLX90614ESF传感器模块温度采集应用资料
- Adversarial Robustness Toolbox 1.15.1 工具包安装教程
- GNU Radio的供应商中立SDR开发包:gr-sdr介绍