C # открыть зашифрованный файл без записи файла на диск? - PullRequest
0 голосов
/ 17 мая 2018

Я зашифровал файл с помощью c # и дал ему расширение .crypted. Расширение файла .crypted связано с моей программой. Поэтому, если я дважды щелкну файл, я получу диалоговое окно запроса пароля из моей программы. После ввода правильного пароля моя программа расшифровывает файл и записывает его в незашифрованном виде на диск без расширения .crypted, чтобы я мог его запустить. После использования файла я просто удаляю незашифрованный файл, и если файл был изменен, я использую свою программу, чтобы сначала зашифровать файл. Но вы можете легко использовать программу восстановления файлов, чтобы получить несанкционированный доступ к незашифрованному файлу. Вот почему я не хочу записывать незашифрованные файлы на диск после того, как моя программа расшифровывает их. Можно ли открыть зашифрованный файл, даже не записав его на диск? Как сохранить незашифрованный файл в оперативной памяти / памяти и открыть его оттуда? Я не хочу писать целую файловую систему для этого. Зашифрованные файлы должны оставаться на NTFS или ext4. Я думаю, что мне нужно изменить код в этой точке:

  using(CryptoStream cryptoStream = new CryptoStream(fileStream, rijndael.CreateDecryptor(), CryptoStreamMode.Read))
  {
    // write unencrypted file to memory and execute or something else?
  }
...