private static byte[] Keys ={0x12,0x34,0x56,0x78,0x90,0xAB,0xCD,0xEF};
public static bool EncryptDES(string inFilePath, string outFilePath, string encryptKey)
{
byte[] rgbIV = Keys;
try
{
byte[] rgbKey = Encoding.UTF8.GetBytes(encryptKey.Substring(0, 8));
FileStream inFs = new FileStream(inFilePath, FileMode.Open, FileAccess.Read);
FileStream outFs = new FileStream(outFilePath, FileMode.OpenOrCreate, FileAccess.Write);
outFs.SetLength(0);
byte[] byteIn = new byte[100];
long readLen = 0;
long totalLen = inFs.Length;
int everyLen;
DES des = new DESCryptoServiceProvider();
CryptoStream encStream = new CryptoStream(outFs, des.CreateEncryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
while (readLen < totalLen)
{
everyLen = inFs.Read(byteIn, 0, 100);
encStream.Write(byteIn, 0, everyLen);
readLen += everyLen;
}
encStream.Close();
outFs.Close();
inFs.Close();
return true;
}
catch
{
return false;
}
}
public static bool DecryptDES(string inFilePath, string outFilePath, string encryptKey)
{
byte[] rgbIV = Keys;
try
{
byte[] rgbKey = Encoding.UTF8.GetBytes(encryptKey.Substring(0, 8));
FileStream inFs = new FileStream(inFilePath, FileMode.Open, FileAccess.Read);
FileStream outFs = new FileStream(outFilePath, FileMode.OpenOrCreate, FileAccess.Write);
outFs.SetLength(0);
byte[] byteIn = new byte[100];
long readLen = 0;
long totalLen = inFs.Length;
int everyLen;
DES des = new DESCryptoServiceProvider();
CryptoStream encStream = new CryptoStream(outFs, des.CreateDecryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
while (readLen < totalLen)
{
everyLen = inFs.Read(byteIn, 0, 100);
encStream.Write(byteIn, 0, everyLen);
readLen += everyLen;
}
encStream.Close();
outFs.Close();
inFs.Close();
return true;
}
catch
{
return false;
}
}
如何加密解密文件
最新推荐文章于 2023-05-24 14:13:31 发布