【问题标题】:How can I change the directory for the encrypted files?如何更改加密文件的目录?
【发布时间】:2021-08-13 18:40:32
【问题描述】:

我开发了这个使用 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)

【问题讨论】:

    标签: c# encryption cryptography aes-gcm


    【解决方案1】:

    您可以创建子目录并将加密文件写入那里。

    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() 会在目录不存在时创建目录。

    【讨论】:

    • 完美!正是我想要的。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-22
    相关资源
    最近更新 更多