如何解决如何更改加密文件的目录?
我开发了这个 C# 系统,它使用 aes-gcm 算法对文件进行真实加密。但是,我不希望加密文件与原始文件夹位于同一文件夹中。我怎样才能改变它?以下是我的代码片段以及我需要帮助的确切位置。
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()
将创建不存在的目录。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。