File.Decrypt(String) File.Decrypt(String) File.Decrypt(String) File.Decrypt(String) Method

Definition

Entschlüsselt eine Datei, die vom aktuellen Konto mit der Encrypt(String)-Methode verschlüsselt wurde.Decrypts a file that was encrypted by the current account using the Encrypt(String) method.

public:
 static void Decrypt(System::String ^ path);
public static void Decrypt (string path);
static member Decrypt : string -> unit
Public Shared Sub Decrypt (path As String)

Parameter

path
String String String String

Ein Pfad, der eine zu entschlüsselnde Datei beschreibt.A path that describes a file to decrypt.

Ausnahmen

Der path-Parameter ist eine leere Zeichenfolge, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen gemäß der Definition von InvalidPathChars.The path parameter is a zero-length string, contains only white space, or contains one or more invalid characters as defined by InvalidPathChars.

Der path-Parameter ist null.The path parameter is null.

Es wurde ein ungültiges Laufwerk angegeben.An invalid drive was specified.

Die durch den path-Parameter beschriebene Datei konnte nicht gefunden werden.The file described by the path parameter could not be found.

Beim Öffnen der Datei ist ein E/A-Fehler aufgetreten.An I/O error occurred while opening the file. Beispielsweise ist die verschlüsselte Datei bereits geöffnet.For example, the encrypted file is already open.

- oder --or-

Dieser Vorgang wird von der aktuellen Plattform nicht unterstützt.This operation is not supported on the current platform.

Der angegebene Pfad und/oder Dateiname überschreiten die vom System definierte maximale Länge.The specified path, file name, or both exceed the system-defined maximum length.

Das aktuelle Betriebssystem ist nicht Windows NT oder höher.The current operating system is not Windows NT or later.

Das Dateisystem ist nicht NTFS.The file system is not NTFS.

Der path-Parameter hat eine schreibgeschützte Datei angegeben.The path parameter specified a file that is read-only.

- oder --or- Dieser Vorgang wird von der aktuellen Plattform nicht unterstützt.This operation is not supported on the current platform.

- oder --or- Der path-Parameter hat ein Verzeichnis angegeben.The path parameter specified a directory.

- oder --or- Der Aufrufer verfügt nicht über die erforderliche Berechtigung.The caller does not have the required permission.

Beispiele

Im folgenden Codebeispiel wird die Encrypt -Methode und Decrypt die-Methode verwendet, um eine Datei zu verschlüsseln und anschließend zu entschlüsseln.The following code example uses the Encrypt method and the Decrypt method to encrypt and then decrypt a file. Die Datei muss vorhanden sein, damit das Beispiel funktioniert.The file must exist for the example to work.

using namespace System;
using namespace System::IO;

int main()
{
    String^ fileName = "test.xml";
    if (!File::Exists(fileName))
    {
        Console::WriteLine("The file " + fileName
            + " does not exist.");
        return 0;
    }
    try
    {
        Console::WriteLine("Encrypt " + fileName);

        // Encrypt the file.
        File::Encrypt(fileName);

        Console::WriteLine("Decrypt " + fileName);

        // Decrypt the file.
        File::Decrypt(fileName);

        Console::WriteLine("Done");
    }
    catch (IOException^ ex)
    {
        Console::WriteLine("There was an IO problem.");
        Console::WriteLine(ex->Message);
    }
    catch (PlatformNotSupportedException^)
    {
        Console::WriteLine("Encryption is not supported on " +
            "this system.");
    }
    catch (NotSupportedException^)
    {
        Console::WriteLine("Encryption is not supported on " +
            "this system.");
    }
    catch (UnauthorizedAccessException^)
    {
        Console::WriteLine("The operation could not be "
            + "carried out.");
    }
}
using System;
using System.IO;
using System.Security.AccessControl;

namespace FileSystemExample
{
    class FileExample
    {
        public static void Main()
        {
            try
            {
                string FileName = "test.xml";

                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);
            }

            Console.ReadLine();
        }


        // Encrypt a file.
        public static void AddEncryption(string FileName)
        {

            File.Encrypt(FileName);

        }

        // Decrypt a file.
        public static void RemoveEncryption(string FileName)
        {
            File.Decrypt(FileName);
        }
    }
}
Imports System.IO
Imports System.Security.AccessControl



Module FileExample

    Sub Main()
        Try
            Dim FileName As String = "test.xml"

            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

        Console.ReadLine()

    End Sub


    ' Encrypt a file.
    Sub AddEncryption(ByVal FileName As String)

        File.Encrypt(FileName)

    End Sub


    ' Decrypt the file.
    Sub RemoveEncryption(ByVal FileName As String)

        File.Decrypt(FileName)

    End Sub
End Module

Hinweise

Die Decrypt -Methode ermöglicht es Ihnen, eine Datei zu entschlüsseln, die mit Encrypt der-Methode verschlüsselt wurde.The Decrypt method allows you to decrypt a file that was encrypted using the Encrypt method. Mit Decrypt der-Methode können nur Dateien entschlüsselt werden, die mit dem aktuellen Benutzerkonto verschlüsselt wurden.The Decrypt method can decrypt only files that were encrypted using the current user account.

Wichtig

Diese API wird nur auf Windows-Plattformen unterstützt, die den NTFS-Verschlüsselndes Dateisystem (EFS) verwenden können.This API is only supported on Windows platforms that are able to use the NTFS Encrypting File System (EFS). Jeder Versuch, diesen auf nicht-Windows-Systemen, Windows Home Edition-Systemen oder nicht-NTFS-Laufwerken zu PlatformNotSupportedException verwenden NotSupportedException, führt zu einer oder, je nach Situation.Any attempt to use this on non-Windows systems, Windows Home Edition systems, or non-NTFS drives results in a PlatformNotSupportedException or NotSupportedException, depending on the situation.

Die Verwendung dieser API in .net Core ist nicht empfehlenswert. Er ist enthalten, um die Portabilität für Anwendungen zu ermöglichen, die zu .net Core wechseln, aber noch explizit auf Windows abzielen.Use of this API in .NET Core is not recommended; it is included to enable portability for applications that move to .NET Core but still explicitly target Windows.

Die Decrypt Methode erfordert exklusiven Zugriff auf die entschlüsselte Datei und gibt eine Ausnahme aus, wenn die Datei von einem anderen Prozess verwendet wird.The Decrypt method requires exclusive access to the file being decrypted, and will raise an exception if another process is using the file. Wenn die Datei nicht verschlüsselt ist, Decrypt gibt einen Wert ungleich 0 (null) zurück, was den Erfolg angibt.If the file is not encrypted, Decrypt will return a nonzero value, which indicates success.

Sowohl die Encrypt -Methode als Decrypt auch die-Methode verwenden den auf dem Computer installierten Kryptografiedienstanbieter (CSP) und die Datei Verschlüsselungsschlüssel des Prozesses, der die-Methode aufrufen.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.

Das aktuelle Dateisystem muss als NTFS formatiert sein, und das aktuelle Betriebssystem muss Windows NT oder höher sein.The current file system must be formatted as NTFS and the current operating system must be Windows NT or later.

Sicherheit

FileIOPermission
für Lese-und Schreibberechtigungen für die Datei, die vom path -Parameter beschrieben wird.for permission to read and write to the file described by the path parameter. Sicherheitsaktion: Lange.Security action: Demand. Zugehörige Enumerationen Read:,WriteAssociated enumerations: Read, Write

Gilt für: