`
isiqi
  • 浏览: 16483932 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

c# 通过修改图片对象的文件的字节 变相"加密""解密"图片在磁盘的存储

阅读更多

WinForm下通过PictureBox控件来显示:
只所以用PictureBox的Image对象
是因为有可能图像对象不是平时所见的已存在于磁盘的图片文件
还有可能是从视频采集卡等直接抓取的图像

//图像"加密"保存
private void button1_Click(object sender, EventArgs e)
{
//把pictureBox1中的图像增加一些密码字节的文字信息后 "加密"储存在磁盘
System.IO.MemoryStream ms = new System.IO.MemoryStream();
byte[] byteArrayPwd = System.Text.Encoding.Default.GetBytes("http://freeliver54.cnblogs.com/");
ms.Write(byteArrayPwd, 0, byteArrayPwd.Length);
//
Image img = this.pictureBox1.Image;
//将图片对象存入MemoryStream
img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
//保存"图片"文件 此时的图片用平常的图片浏览器是不能正常打开查看的
BinaryWriter bw = new BinaryWriter(File.Open(@"F:\\images\20081014.jpg", FileMode.OpenOrCreate));
bw.Write(ms.ToArray());
bw.Close();
ms.Close();
}

//"解密"图像显示 注意该解密是在内存中进行 并没有通过中间的tmp文件来搭桥
private void button2_Click(object sender, EventArgs e)
{
FileStream fs = new FileStream(@"F:\\images\20081014.jpg", FileMode.Open, FileAccess.Read);
byte[] byteArrayFile = new byte[fs.Length];
fs.Read(byteArrayFile, 0, (int)fs.Length);
fs.Close();

byte[] byteArrayPwd = System.Text.Encoding.Default.GetBytes("http://freeliver54.cnblogs.com/");
System.IO.MemoryStream ms = new System.IO.MemoryStream(byteArrayFile, byteArrayPwd.Length,byteArrayFile.Length-

byteArrayPwd.Length);
//需要做相关异常处理 因为截取位置若不正确 将不能正常的构建出图像对象 会抛参数无效等异常
try
{
this.pictureBox2.Image = System.Drawing.Image.FromStream(ms);
}
finally
{
ms.Close();
}
}

----
以上是在WinForm下的简单尝试
可能"加密"后的图片 要在Web页面的Image等控件来显示
此时就不能用直接的src指向图片文件 因为此时的该图片文件是不能正常显示的
可通过另外的页面对图片解密后再返回给控件进行显示<img src="Picture.aspx">

分享到:
评论

相关推荐

    c# 通过修改图片对象的文件的字节-变相加密解密图片在磁盘的存储

    c# 通过修改图片对象的文件的字节-变相加密解密图片在磁盘的存储

    C#文件加密解密(完整项目)

    本项目"文件加密解密(完整项目)"专注于利用C#进行文件的安全处理,确保数据在传输和存储时的隐私性。 一、C#加密技术基础 C#中实现文件加密主要依赖于.NET Framework提供的加密类库,如System.Security....

    C# RSA加密解密

    通过读取文件内容,加密后写入新文件,解密时再从加密文件读取,还原为原始文件。这在保护敏感文件不被未经授权的访问时非常有用。 总结,C#中的RSA加密解密结合Winform界面,为用户提供了直观的操作方式来保护数据...

    C# 将图片文件转换成字节流存储在TXT

    通过以上代码,我们实现了图片文件到字节流的转换,并将字节流存储在TXT文件中。这种方式便于在不支持二进制文件的系统或环境中传输和存储图像数据,例如在网络通信或数据库存储时。 在实际应用中,可能还需要考虑...

    c#中对xml文件加密和解密完整代码

    在C#编程环境中,处理XML文件的加密和解密是一项重要的任务,特别是在处理敏感数据时。XML文件因为其结构清晰、易于解析而被广泛应用,但同时也需要妥善保护以防止未授权访问。以下是对C#中XML文件加密和解密的详细...

    C#des对文件进行加密解密

    总的来说,使用C#和DES进行文件加密解密是一个涉及多个步骤的过程,包括创建加密对象、设置密钥和IV、创建流对象、创建加密或解密流、读写文件以及关闭流。在现代安全需求下,虽然DES可能不是最安全的选择,但理解其...

    C#实现文件加密解密工具(AES算法)

    3. **文件读取与加密**:读取文件内容到字节数组,然后使用AES对象的CreateEncryptor()方法创建加密器。使用加密器的TransformFinalBlock()方法对数据进行加密。 4. **写入加密后的文件**:将加密结果写入新的文件,...

    C#写的大文件AES加密解密程序

    通过这个"C#写的大文件AES加密解密程序",开发者可以学习如何在C#环境中实现高效且安全的文件加密操作,这对于保护敏感数据和满足合规性要求具有重要意义。同时,这也是一个很好的实践案例,展示了如何处理大文件和...

    c#实现文件加密解密

    通过以上方法,我们可以使用C#实现安全的文件加密和解密,保护敏感数据免受未经授权的访问。在实际项目中,根据具体需求,还可以结合其他安全策略,如证书验证、安全套接层(SSL/TLS)等,进一步提升数据的安全性。

    C#对压缩文件的加密解密.rar

    本资源"**C#对压缩文件的加密解密.rar**"显然是一个C#实现的项目,专注于在Winform应用程序中对zip、jar和rar三种常见压缩格式进行加密和解密的操作。 首先,让我们了解C#中的压缩技术。`System.IO.Compression`...

    C# 10种加密解密方式

    在IT行业中,安全性和隐私保护是至关重要的,尤其是在软件开发中。C#作为一种强大的编程语言,提供了多种加密和解密方法来确保...同时,理解加密和解密的基本原理以及如何在C#中实现它们,对于提升软件安全性至关重要。

    FileEncryption.rar C#文件加密解密

    在C#编程环境中,文件加密和解密是保护数据安全的重要技术。本文将详细探讨如何使用C#实现文件的加密和解密,以及涉及到的相关知识点。 1. **基础概念** - **加密**:加密是一种将明文转换为密文的过程,目的是...

    C# 文件加密 实例源码(加密解密)

    在C#编程中,文件加密是一项重要的安全措施,用于保护数据免受未经授权的访问或篡改。本实例源码提供了一种实现文件加密和解密的方法,主要涉及到以下几个知识点: 1. **加密算法选择**:在C#中,常见的加密算法有...

    .NET下用C#写的AES算法文件加密解密工具(附源码)

    本项目是基于C#实现的AES文件加密解密工具,采用WinForm作为用户界面,提供了一种简单易用的方式来保护您的文件安全。 AES算法在密码学中占有重要地位,其主要特点是安全性高、效率高,适用于大量数据的加密。该...

    C#使用PEM文件RSA加密和解密

    通常C#使用xml格式的密钥文件,不能使用Linux下的公钥和私钥pem文件。...本源码直接使用linux下的PEM文件来做RSA加密和解密,可避免xml格式文件的移植性问题。完整的源码,Vs2008工程,以编译和测试通过。

    C# RSA读取密钥文件pfx cer 签名验签加密解密帮助类

    本篇文章将深入探讨如何在C#中使用RSA算法处理pfx和cer密钥文件,进行签名验证、加密和解密,并介绍如何实现C#与Java之间的公钥私钥互转。 首先,`pfx`文件是一种包含证书和私钥的二进制文件,通常用于存储服务器...

    C#加密解密DeEncryptHelper.zip

    加密文件 解密字符串 解密文件 128位MD5算法加密字符串 128位MD5算法加密Byte数组 32位MD5加密 Base64加密 Base64解密 DES加密/解密类。 加密 加密数据 解密 解密数据 得到随机安全码(哈希加密)。 得到随机哈希...

    c# 实现对文件的GPG 加密与解密

    c# 使用DidiSoft.Pgp来实现对文件的GPG 加密与解密 。GPG非对称加密需要公钥和私钥 :你的公钥的作用 :别人用来给你发加密的信息&别人验证你的签名,即加密&验证(别人来做) 你的私钥的作用 :你用来创建签名&...

    c#加密解密源码

    在IT领域,加密和解密是信息安全的重要组成部分,特别是在C#编程环境中,开发相关的加密解密功能对于数据保护至关重要。本文将围绕"C#加密解密源码"这一主题,深入探讨C#中加密解密的基本原理、常用算法以及如何通过...

    C#加密解密(自定义加密字符)

    带加密字符的 加密 解密方法 static string encryptKey = "加密字符"; 自定义加密字符(加密解密必须一致才能解密) ///   /// 加密字符串 ///   ///  name="str"&gt;要加密的字符串  /// 加密后的...

Global site tag (gtag.js) - Google Analytics