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

View Code
 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

 解密:

    

#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

 

posted @ 2011-11-16 08:44  Devil_jim  阅读(709)  评论(0编辑  收藏  举报