Создание нового каталога из C # с включенной шифрованной файловой системой - PullRequest
5 голосов
/ 24 мая 2011

Кто-нибудь создал новый каталог из C # с включенной шифрованной файловой системой?

Кроме того, любая информация об этом из установки также будет полезна.

Ответы [ 3 ]

7 голосов
/ 24 июня 2011

Создание зашифрованного каталога будет двухэтапным процессом - создайте его с помощью Directory.CreateDirectory и затем зашифруйте его с помощью функции Win32 EncryptFile. Пример кода -

using System;
using System.IO;
using System.Runtime.InteropServices;

namespace EncryptDir
{
    public class Sample
    {
        DllImport("advapi32.dll", CharSet = CharSet.Auto, SetLastError = true)]
        static extern bool EncryptFile(string filename);

        public static void Main ()
        {
            Directory.CreateDirectory("MyEncryptedDirectory");
            EncryptFile("MyEncryptedDirectory");
        }
}

Ссылка:
Функция EncryptFile @ MSDN
Обработка зашифрованных файлов и каталогов @ MSDN

0 голосов
/ 08 января 2018

Управляемые методы File.Encrypt() и FileInfo.Encrypt() оба просто вызывают собственный EncryptFile(), показанный в другой ответ .

Итак, не нужно тратить время на объявление API p / invoke. Просто используйте встроенные методы.

0 голосов
/ 23 февраля 2012

Кажется, что вызов File.EncryptFile также работает с каталогами. Я предполагаю, что это только вперед к EncryptFile внутренне.

...