`
shirlly
  • 浏览: 1657710 次
  • 性别: Icon_minigender_2
  • 来自: 福州
社区版块
存档分类
最新评论

c# winform 文件内容的加密解密

    博客分类:
  • .NET
阅读更多
主要代码

加密:
#region 加密方法   
public bool EncryptFile(string filePath,string savePath,string keyStr)    
{    
    DESCryptoServiceProvider des = new DESCryptoServiceProvider();    
    if(keyStr=="")    
        keyStr=key;    
    FileStream fs=File.OpenRead(filePath);    
    byte[] inputByteArray =new byte[fs.Length];    
    fs.Read(inputByteArray,0,(int)fs.Length);    
    fs.Close();    
    byte[] keyByteArray=Encoding.Default.GetBytes(keyStr);    
    SHA1 ha=new SHA1Managed();    
    byte[] hb=ha.ComputeHash(keyByteArray);    
    sKey=new byte[8];    
    sIV=new byte[8];    
    for(int i=0;i<8;i++)    
        sKey[i]=hb[i];    
    for(int i=8;i<16;i++)    
        sIV[i-8]=hb[i];    
    des.Key=sKey;    
    des.IV=sIV;    
    MemoryStream ms = new MemoryStream();    
    CryptoStream cs = new CryptoStream(ms,des.CreateEncryptor(),CryptoStreamMode.Write);    
    cs.Write(inputByteArray, 0, inputByteArray.Length);    
    cs.FlushFinalBlock();    
    fs=File.OpenWrite(savePath);    
  
    foreach(byte b in ms.ToArray())    
    {    
        fs.WriteByte(b);               
    }                      
    fs.Close();    
    cs.Close();    
    ms.Close();    
    return true;    
}  
#endregion 


解密:
#region 解密方法   
public bool DecryptFile(string filePath,string savePath,string keyStr)    
{    
    DESCryptoServiceProvider des = new DESCryptoServiceProvider();    
    if(keyStr=="")    
        keyStr=key;    
    FileStream fs=File.OpenRead(filePath);    
    byte[] inputByteArray =new byte[fs.Length];    
    fs.Read(inputByteArray,0,(int)fs.Length);    
    fs.Close();    
    byte[] keyByteArray=Encoding.Default.GetBytes(keyStr);    
    SHA1 ha=new SHA1Managed();    
    byte[] hb=ha.ComputeHash(keyByteArray);    
    sKey=new byte[8];    
    sIV=new byte[8];    
    for(int i=0;i<8;i++)    
        sKey[i]=hb[i];    
    for(int i=8;i<16;i++)    
        sIV[i-8]=hb[i];    
    des.Key=sKey;    
    des.IV=sIV;    
    MemoryStream ms = new MemoryStream();    
    CryptoStream cs = new CryptoStream(ms,des.CreateDecryptor(),CryptoStreamMode.Write);    
    cs.Write(inputByteArray, 0, inputByteArray.Length);    
    cs.FlushFinalBlock();    
    fs=File.OpenWrite(savePath);    
    foreach(byte b in ms.ToArray())    
    {    
        fs.WriteByte(b);    
    }    
    fs.Close();    
    cs.Close();    
    ms.Close();    
    return true;    
}   
#endregion  
分享到:
评论

相关推荐

    198个经典C#WinForm实例源码加密解密文件处理图像处理网络系统操作硬件操作等

    198个经典C#WinForm实例源码加密解密文件处理图像处理网络系统操作硬件操作等

    C# Socket传输加密文件并解密(WinForm版)

    这是我用C#编写的基于Socket网络编程技术,在网络上传输加密文件,并对其进行数字签名,在另一端进行解密,并验证签名的一个WinForm程序,里面涉及到的加密解密算法有对称密码算法DES和非对称密码算法RSA加密解密...

    winform对项目的配置文件加密解密

    本文将深入探讨如何在WinForm项目中实现配置文件的加密与解密。 首先,让我们了解`.config`文件的基本结构。`.config`文件,特别是`app.config`,是基于XML的文件,用于存储应用程序的配置设置。例如,数据库连接...

    C# RSA加密解密

    本篇文章将深入探讨C#如何实现RSA加密解密,并结合Winform界面进行演示。 **1. RSA算法基础** RSA算法基于数论原理,包括大数因子分解的困难性。它包含两个密钥:公钥和私钥。公钥可以公开,用于加密;私钥必须...

    Winform文件加密解密,初学者

    开发工具VS2010,框架版本4.0适合初学winform的,这是源码,功能不是很全,只是实现一个加密解密思想,可以根据自己需要去修改,打开软件,选择需要加密的文件,然后再选择需要保存到路径,然后点击按钮就可,下面会...

    C#开发的WinForm---SQLite加密程序

    在本文中,我们将深入探讨如何使用C#进行WinForm应用程序开发,特别关注如何构建一个SQLite加密程序。SQLite是一个轻量级、开源的关系型数据库,它被广泛用于桌面应用和嵌入式系统,因为它无需服务器进程即可运行。...

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

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

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

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

    C# winform DES加密解密

    本篇将深入探讨"C# winform DES加密解密"这一主题,帮助你理解如何在Windows Forms应用程序中实现数据的加密和解密。 DES(Data Encryption Standard)是一种经典的对称加密算法,它使用56位的密钥对数据进行加密和...

    基于C# winform结合AES解密算法实现文件加密源码.zip

    这是一个文件加密器,使用了AES加密算法对单个文件或多个文件进行加密解密。 有以下功能: 1.单个文件加密、解密。 2.选择加密一个文件夹,加密后该文件夹内的所有文件将被加密,解密时可选择单个解密或整个文件夹...

    C#winform写的basecode64加密解密工具

    标题提到的"C# WinForm写的Base64加密解密工具"是一个基于C#语言和WinForm框架的实用程序,它允许用户对数据进行Base64编码和解码。WinForm是.NET Framework中的一个组件,用于创建传统的桌面应用程序,具有丰富的...

    c# ras 加密解密 代码例子

    本篇文章将深入探讨C#中如何实现RAS加密和解密,并通过一个WinForm应用实例——RasWinFormDemo来具体阐述。 首先,我们需要理解RAS的基本原理。RAS是一种非对称加密算法,它包括一对密钥:公钥和私钥。公钥可以公开...

    C# winform 开发的License功能

    C# winform 开发的License功能,根据网卡判断注册,c#纯源码,vs2005

    C# Base64加密解密

    总的来说,C#中的Base64加密解密提供了简单且安全的方法来处理二进制数据,特别是在需要在文本环境(如邮件、网页)中传输时。在WinForm应用中,开发者可以结合UI设计,创建用户友好的工具,方便地进行Base64编码和...

    C# winform窗体应用字符 加密解密 DES AES MD5 SHA1 Base64 源码

    C# winform窗体应用字符 加密解密 DES AES MD5 SHA1 Base64 源码

    198个经典C#WinForm实例源码(全面)

    【描述】"窗体、控件、图像、报表、系统、文件、网络、数据库、加密解密、硬件、游戏",这些关键词揭示了这个压缩包中包含的实例范围广泛,涵盖了以下几个关键领域: 1. **窗体(Forms)**:C# WinForm的基础,是...

    C#.NET密码加密解密源码Demo

    2. **解密操作**:创建解密流,读取加密后的数据,然后通过解密流解密。 ```csharp byte[] encryptedData = Convert.FromBase64String("加密后的密码Base64字符串"); using (MemoryStream ms = new MemoryStream...

    198个经典C#WinForm实例源码.zip

    8. **加解密技术**:C# 内置了System.Security.Cryptography命名空间,提供了一系列加密算法,如RSA、SHA、AES等。源码中可能有数据加密和解密的实例,确保数据安全。 9. **事件驱动编程**:C# WinForm的事件驱动...

    C#winform制作绚丽的Ui界面

    通过引用DLL,可以引入额外的功能,如图表绘制、数据库操作、加密解密等。 2. 第三方组件:许多第三方控件库以DLL形式提供,如DevExpress、Telerik等,它们提供了丰富的UI控件和特效,能帮助开发者快速构建出美观且...

    c# AES加密解密文件

    C# AES 加解密 源文件

Global site tag (gtag.js) - Google Analytics