打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
c# winform 文件内容的加密解密
主要代码

加密:
C#代码
 
  1. #region 加密方法   
  2. public bool EncryptFile(string filePath,string savePath,string keyStr)    
  3. {    
  4.     DESCryptoServiceProvider des = new DESCryptoServiceProvider();    
  5.     if(keyStr=="")    
  6.         keyStr=key;    
  7.     FileStream fs=File.OpenRead(filePath);    
  8.     byte[] inputByteArray =new byte[fs.Length];    
  9.     fs.Read(inputByteArray,0,(int)fs.Length);    
  10.     fs.Close();    
  11.     byte[] keyByteArray=Encoding.Default.GetBytes(keyStr);    
  12.     SHA1 ha=new SHA1Managed();    
  13.     byte[] hb=ha.ComputeHash(keyByteArray);    
  14.     sKey=new byte[8];    
  15.     sIV=new byte[8];    
  16.     for(int i=0;i<8;i++)    
  17.         sKey[i]=hb[i];    
  18.     for(int i=8;i<16;i++)    
  19.         sIV[i-8]=hb[i];    
  20.     des.Key=sKey;    
  21.     des.IV=sIV;    
  22.     MemoryStream ms = new MemoryStream();    
  23.     CryptoStream cs = new CryptoStream(ms,des.CreateEncryptor(),CryptoStreamMode.Write);    
  24.     cs.Write(inputByteArray, 0, inputByteArray.Length);    
  25.     cs.FlushFinalBlock();    
  26.     fs=File.OpenWrite(savePath);    
  27.   
  28.     foreach(byte b in ms.ToArray())    
  29.     {    
  30.         fs.WriteByte(b);               
  31.     }                      
  32.     fs.Close();    
  33.     cs.Close();    
  34.     ms.Close();    
  35.     return true;    
  36. }  
  37. #endregion  


解密:
C#代码
 
  1. #region 解密方法   
  2. public bool DecryptFile(string filePath,string savePath,string keyStr)    
  3. {    
  4.     DESCryptoServiceProvider des = new DESCryptoServiceProvider();    
  5.     if(keyStr=="")    
  6.         keyStr=key;    
  7.     FileStream fs=File.OpenRead(filePath);    
  8.     byte[] inputByteArray =new byte[fs.Length];    
  9.     fs.Read(inputByteArray,0,(int)fs.Length);    
  10.     fs.Close();    
  11.     byte[] keyByteArray=Encoding.Default.GetBytes(keyStr);    
  12.     SHA1 ha=new SHA1Managed();    
  13.     byte[] hb=ha.ComputeHash(keyByteArray);    
  14.     sKey=new byte[8];    
  15.     sIV=new byte[8];    
  16.     for(int i=0;i<8;i++)    
  17.         sKey[i]=hb[i];    
  18.     for(int i=8;i<16;i++)    
  19.         sIV[i-8]=hb[i];    
  20.     des.Key=sKey;    
  21.     des.IV=sIV;    
  22.     MemoryStream ms = new MemoryStream();    
  23.     CryptoStream cs = new CryptoStream(ms,des.CreateDecryptor(),CryptoStreamMode.Write);    
  24.     cs.Write(inputByteArray, 0, inputByteArray.Length);    
  25.     cs.FlushFinalBlock();    
  26.     fs=File.OpenWrite(savePath);    
  27.     foreach(byte b in ms.ToArray())    
  28.     {    
  29.         fs.WriteByte(b);    
  30.     }    
  31.     fs.Close();    
  32.     cs.Close();    
  33.     ms.Close();    
  34.     return true;    
  35.  
  36. #endregion  


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
C# MD5加密解密类 winform
.NET----URL传参加密类
一个.Net加密解密类-程序开发-红黑联盟
关于DES 过程密钥和密钥分散
C#的DES加密解密算法
Crypto++ 入门 AES
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服