//要加密的文件,加密后的文件,加密的key值
public static bool DescryptDES(string inf, string ouf, string encrypKey)
{
byte[] rgbIv = Keys; //加密的IV向量,用户自己定义一个,这里就没直接给出{0x25}
byte[] rgbKey = Encoding.UTF8.GetBytes(encrypKey.Substring(0, 8));
FileStream infs = new FileStream(inf, FileMode.Open, FileAccess.Read);
FileStream outfs = new FileStream(ouf, FileMode.OpenOrCreate, FileAccess.Write);
//读的流放一个位置,我们知道读的流都是二进制的
byte[] bytein = new byte[100];
long readLen = 0;
long toatalLen = inf.Length;
int erentLen;//每次读的步长
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
CryptoStream encStream = new CryptoStream(outfs, des.CreateEncryptor(rgbKey, rgbIv), CryptoStreamMode.Write);
while(readLen<toatalLen)
{
erentLen= infs.Read(bytein, 0, 100);//每次读取的布长,因为他都循环
encStream.Write(bytein, 0, erentLen);
readLen = readLen + erentLen;
}
encStream.Close();
infs.Close();
outfs.Close();
return true; //加密成功
}