温馨提示×

C# Directory类文件夹加密怎么做

c#
小樊
99
2024-08-05 13:59:11
栏目: 编程语言

在C#中,你可以使用System.Security.Cryptography命名空间中的Aes类来对文件夹进行加密。以下是一个简单的示例代码来实现文件夹加密:

using System;
using System.IO;
using System.Security.Cryptography;

class Program
{
    static void Main()
    {
        string folderPath = @"C:\YourFolderPath";
        string password = "YourPassword";

        EncryptFolder(folderPath, password);
    }

    static void EncryptFolder(string folderPath, string password)
    {
        using (Aes aes = Aes.Create())
        {
            byte[] passwordBytes = System.Text.Encoding.UTF8.GetBytes(password);

            aes.Key = passwordBytes;
            aes.IV = passwordBytes;

            string[] files = Directory.GetFiles(folderPath, "*", SearchOption.AllDirectories);

            foreach (string file in files)
            {
                using (FileStream fs = new FileStream(file, FileMode.Open, FileAccess.Read))
                {
                    using (FileStream encryptedFs = new FileStream(file + ".encrypted", FileMode.Create))
                    {
                        using (CryptoStream cs = new CryptoStream(encryptedFs, aes.CreateEncryptor(), CryptoStreamMode.Write))
                        {
                            fs.CopyTo(cs);
                        }
                    }
                }

                File.Delete(file);
            }
        }
    }
}

在这段代码中,我们使用AES加密算法对文件夹中的所有文件进行加密。你可以根据自己的需求调整加密算法和加密方式。请注意,这只是一个简单的示例,实际应用中可能需要更复杂的加密方法和密钥管理。

0