如何更改加密文件的目录?

How can I change the directory for the encrypted files?

我开发了这个使用 AES-GCM 算法真正加密文件的 C# 系统。但是,我不希望加密文件与原始文件夹位于同一文件夹中。我该如何改变它?下面是我的代码片段以及我需要帮助的地方。

  foreach (string inputFilePath in inputFilePaths)
            {
                // Proceed if file exists
                if (File.Exists(inputFilePath))
                {
                    try
                    {
                        // Encrypt
                        byte[] key = PasswordAsKey();
                        string[] encryptedFileContents = AesGcmFileEncryption.Encrypt(inputFilePath, key);

                        // Here is where I need clarification
                        string outputFilePath = inputFilePath;
                        outputFilePath += ".AEncrypt";
                        if (File.Exists(outputFilePath))
                        {
                            skippedBecauseFileExists = true;
                        }
                        else
                        {
                            File.WriteAllLines(outputFilePath, encryptedFileContents);
                            counter++;

                            // Status
                            label10.Text = "Copied and encrypted \"" + Path.GetFileName(inputFilePath) + "\"";
                        }
                    }
                    catch (Exception ex)

您可以创建子目录并在其中写入加密文件。

string inputDir = Path.GetDirectoryName(inputFilePath);
string outputDir = Path.Combine(inputDir, "EncryptedFiles");
Directory.CreateDirectory(outputDir);

string outputFileName = Path.GetFileName(inputFilePath) + ".AEncrypt";

string outputFilePath = Path.Combine(outputDir, outputFileName);

在这里,我从 inputFilePath 中提取目录名称并将 "EncryptedFiles" 附加到它。然后我创建您的新文件名并将其附加到生成的目录。

Directory.CreateDirectory() 如果目录不存在则创建目录。