日期:2014-05-17 浏览次数:22190 次
public static bool AESDecrypttoSingle(string filePath, string strKey)//(解密文件路径,解密密码)
{
string dir = Directory.GetParent(filePath).ToString();
SymmetricAlgorithm aes = Rijndael.Create();
FileStream fs = File.OpenRead(filePath);
aes.Key = Encoding.UTF8.GetBytes(strKey);
aes.IV = _key1;
byte[] decryptBytes = new byte[(int)fs.Length];
fs.Read(decryptBytes, 0, 1);
fs.Close();
MemoryStream ms = new MemoryStream(decryptBytes);
CryptoStream cs = new CryptoStream(ms, aes.CreateDecryptor(), CryptoStreamMode.Read);
cs.Read(decryptBytes, 0, decryptBytes.Length);//填充无效,无法被移除。
cs.FlushFinalBlock();
fs.Close();
fs = File.OpenWrite(dir + "\\Encryption.txt");
foreach (byte b in ms.ToArray())
{
fs.WriteByte(b);
}
fs.Close();
cs.Close();
ms.Close();
return true;
}