阅读量:2
在C#中,你可以使用System.IO和System.Security.Cryptography命名空间中的类和方法进行文件加密和解密操作。以下是一个简单的示例,展示了如何使用AES加密和解密文件。
首先,确保已安装System.Security.Cryptography NuGet包。
using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;
class FileEncryptionDecryption
{
static void Main()
{
string inputFile = "input.txt";
string outputFile = "output.txt";
string key = "your-secret-key"; // 请使用一个安全的密钥
string iv = "your-initial-vector"; // 请使用一个安全的初始向量
// 加密文件
EncryptFile(inputFile, outputFile, key, iv);
// 解密文件
DecryptFile(outputFile, "decrypted_output.txt", key, iv);
}
static void EncryptFile(string inputFile, string outputFile, string key, string iv)
{
using (Aes aes = Aes.Create())
{
aes.Key = Encoding.UTF8.GetBytes(key);
aes.IV = Encoding.UTF8.GetBytes(iv);
using (FileStream fs = new FileStream(inputFile, FileMode.Open))
{
using (CryptoStream cs = new CryptoStream(fs, aes.CreateEncryptor(), CryptoStreamMode.Read))
{
using (FileStream encryptedStream = new FileStream(outputFile, FileMode.Create))
{
cs.CopyTo(encryptedStream);
}
}
}
}
}
static void DecryptFile(string inputFile, string outputFile, string key, string iv)
{
using (Aes aes = Aes.Create())
{
aes.Key = Encoding.UTF8.GetBytes(key);
aes.IV = Encoding.UTF8.GetBytes(iv);
using (FileStream fs = new FileStream(inputFile, FileMode.Open))
{
using (CryptoStream cs = new CryptoStream(fs, aes.CreateDecryptor(), CryptoStreamMode.Read))
{
using (FileStream decryptedStream = new FileStream(outputFile, FileMode.Create))
{
cs.CopyTo(decryptedStream);
}
}
}
}
}
}
在这个示例中,我们使用了AES加密算法对文件进行加密和解密。请确保使用一个安全的密钥和初始向量。你可以根据需要修改这个示例以适应你的需求。
以上就是关于“c#文件操作怎样进行文件解密”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm