FileInfo.Encrypt Метод

Определение

Шифрует файл таким образом, чтобы его можно было расшифровать только с помощью учетной записи, которая использовалась для шифрования.Encrypts a file so that only the account used to encrypt the file can decrypt it.

public:
 void Encrypt();
[System.Runtime.InteropServices.ComVisible(false)]
public void Encrypt ();
member this.Encrypt : unit -> unit
Public Sub Encrypt ()
Атрибуты

Исключения

Указан недопустимый диск.An invalid drive was specified.

Не удалось найти файл, описанный текущим объектом FileInfo.The file described by the current FileInfo object could not be found.

При открытии файла произошла ошибка ввода-вывода.An I/O error occurred while opening the file.

Файловая система не является системой NTFS.The file system is not NTFS.

Текущая операционная система не является системой Microsoft Windows NT или более поздней версии.The current operating system is not Microsoft Windows NT or later.

Файл, описанный текущим объектом FileInfo, доступен только для чтения.The file described by the current FileInfo object is read-only.

- или --or- Эта операция не поддерживается на текущей платформе.This operation is not supported on the current platform.

- или --or- У вызывающего объекта отсутствует необходимое разрешение.The caller does not have the required permission.

Примеры

В следующем примере кода используется Encrypt метод Decrypt и метод для шифрования файла и его расшифровки.The following code example uses the Encrypt method and the Decrypt method to encrypt a file and then decrypt it.

using namespace System;
using namespace System::IO;
using namespace System::Security::AccessControl;


    static void Addencryption(String^ fileName)
{
    // Create a new FileInfo object.
    FileInfo^ fInfo = gcnew FileInfo(fileName);
    if (!fInfo->Exists)
    {
        fInfo->Create();
    }
    // Add encryption.
    fInfo->Encrypt();
    
}


    static void Removeencryption(String^ fileName)
{
//    Create a new FileInfo object.
    FileInfo^ fInfo = gcnew FileInfo(fileName);
    if (!fInfo->Exists)
    {
        fInfo->Create();
    }
    // Remove encryption.
    fInfo->Decrypt();
}

int main()
{
    try
    {
        String^ fileName = "c:\\MyTest.txt";
        Console::WriteLine("Encrypt " + fileName);

        // Encrypt the file.
     
        Addencryption(fileName);
        Console::WriteLine("Decrypt " + fileName);

        // Decrypt the file.
        Removeencryption(fileName);
        Console::WriteLine("Done");
     }
     catch (IOException^ ex)
     {
        Console::WriteLine(ex->Message);
     }
}
//This code produces output similar to the following; 
//results may vary based on the computer/file structure/etc.:
//
//Encrypt c:\MyTest.txt
//Decrypt c:\MyTest.txt
//Done
using System;
using System.IO;
using System.Security.AccessControl;

namespace FileSystemExample
{
    class FileExample
    {
        public static void Main()
        {
            try
            {
                string FileName = @"c:\MyTest.txt";

                Console.WriteLine("Encrypt " + FileName);

                // Encrypt the file.
                AddEncryption(FileName);

                Console.WriteLine("Decrypt " + FileName);

                // Decrypt the file.
                RemoveEncryption(FileName);

                Console.WriteLine("Done");
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }

        public static void AddEncryption(string FileName)
        {
            // Create a new FileInfo object.
            FileInfo fInfo = new FileInfo(FileName);
            if (!fInfo.Exists)
            {
                //Create the file.
                fInfo.Create();
            }
            // Add encryption.
            fInfo.Encrypt();
        }

        public static void RemoveEncryption(string FileName)
        {
            // Create a new FileInfo object.
            FileInfo fInfo = new FileInfo(FileName);
            if (!fInfo.Exists)
            {
                //Create the file.
                fInfo.Create();
            }
            // Remove encryption.
            fInfo.Decrypt();

        }
    }
}

//This code produces output similar to the following; 
//results may vary based on the computer/file structure/etc.:
//
//Encrypt c:\MyTest.txt
//Decrypt c:\MyTest.txt
//Done
Imports System.IO
Imports System.Security.AccessControl



Module FileExample

    Sub Main()
        Try
            Dim FileName As String = "c:\MyTest.txt"

            Console.WriteLine("Encrypt " + FileName)

            ' Encrypt the file.
            AddEncryption(FileName)

            Console.WriteLine("Decrypt " + FileName)

            ' Decrypt the file.
            RemoveEncryption(FileName)

            Console.WriteLine("Done")
        Catch e As Exception
            Console.WriteLine(e)
        End Try

    End Sub



    Sub AddEncryption(ByVal FileName As String)
        ' Create a new FileInfo object.
        Dim fInfo As New FileInfo(FileName)
        If fInfo.Exists = False Then
            fInfo.Create()
        End If
        ' Add encryption.
        fInfo.Encrypt()

    End Sub



    Sub RemoveEncryption(ByVal FileName As String)
        ' Create a new FileInfo object.
        Dim fInfo As New FileInfo(FileName)
        If fInfo.Exists = False Then
            fInfo.Create()
        End If
        ' Remove encryption.
        fInfo.Decrypt()

    End Sub
End Module
'This code produces output similar to the following; 
'results may vary based on the computer/file structure/etc.:
'
'Encrypt c:\MyTest.txt
'Decrypt c:\MyTest.txt
'Done

Комментарии

Encrypt Метод позволяет зашифровать файл, чтобы только учетная запись, используемая для вызова этого метода, могла его расшифровать.The Encrypt method allows you to encrypt a file so that only the account used to call this method can decrypt it. Используйте метод для расшифровки файла Encrypt , зашифрованного методом. DecryptUse the Decrypt method to decrypt a file encrypted by the Encrypt method.

Encrypt МетодDecrypt и метод используют поставщик служб шифрования (CSP), установленный на компьютере, и ключи шифрования файлов процесса, вызывающего метод.Both the Encrypt method and the Decrypt method use the cryptographic service provider (CSP) installed on the computer and the file encryption keys of the process calling the method.

Текущая файловая система должна иметь формат NTFS, а текущая операционная система должна быть установлена на компьютере под управлением Microsoft Windows NT или более поздней версии.The current file system must be formatted as NTFS and the current operating system must be Microsoft Windows NT or later.

Безопасность

FileIOPermission
Связанные перечисления: Read,WriteAssociated enumerations: Read, Write Действие по обеспечению безопасности: Вызов.Security action: Demand. Разрешение на чтение и запись в файл, описываемый текущим FileInfo объектом.For permission to read and write to the file described by the current FileInfo object.

Применяется к