C# 打开加密文件
时间: 2023-08-02 08:10:38 浏览: 212
要打开加密文件,你需要使用 C# 中的加密类库来解密它。具体步骤如下:
1. 导入 System.Security.Cryptography 命名空间。
2. 使用 System.IO 命名空间下的 FileStream 类打开加密文件。
3. 使用 System.Security.Cryptography 命名空间下的 SymmetricAlgorithm 类创建一个加密算法,比如 AES。
4. 使用 SymmetricAlgorithm 类的 CreateDecryptor 方法创建一个解密器。
5. 使用 CryptoStream 类将 FileStream 和解密器连接起来,以便可以对加密文件进行解密。
6. 使用 StreamReader 类从 CryptoStream 中读取解密后的数据。
以下是一个简单的示例代码:
```
using System;
using System.IO;
using System.Security.Cryptography;
class Program {
static void Main(string[] args) {
string inputFile = "encrypted_file.txt";
string outputFile = "decrypted_file.txt";
string password = "MySecretPassword";
using (FileStream inputStream = new FileStream(inputFile, FileMode.Open))
using (FileStream outputStream = new FileStream(outputFile, FileMode.Create))
using (SymmetricAlgorithm algorithm = Aes.Create()) {
byte[] salt = new byte[16];
inputStream.Read(salt, 0, salt.Length);
var rfc = new Rfc2898DeriveBytes(password, salt, 1000);
algorithm.Key = rfc.GetBytes(32);
algorithm.IV = rfc.GetBytes(16);
using (CryptoStream cryptoStream = new CryptoStream(inputStream, algorithm.CreateDecryptor(), CryptoStreamMode.Read))
using (StreamReader reader = new StreamReader(cryptoStream)) {
string decryptedText = reader.ReadToEnd();
outputStream.Write(System.Text.Encoding.UTF8.GetBytes(decryptedText), 0, decryptedText.Length);
}
}
}
}
```
注意:以上示例代码仅适用于使用 AES 算法加密的文件,如果你使用的是其他算法,需要相应地更改代码。
阅读全文