File.Encrypt(String) Methode

Definition

Verschlüsselt eine Datei, sodass nur das Konto, das zum Verschlüsseln der Datei verwendet wird, entschlüsseln kann.

public:
 static void Encrypt(System::String ^ path);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static void Encrypt(string path);
public static void Encrypt(string path);
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member Encrypt : string -> unit
static member Encrypt : string -> unit
Public Shared Sub Encrypt (path As String)

Parameter

path
String

Ein Pfad, der eine zu verschlüsselnde Datei beschreibt.

Attribute

Ausnahmen

.NET Framework- und .NET Core-Versionen, die älter als 2.1 sind: Der Parameter path ist eine leere Zeichenfolge, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen. Sie können ungültige Zeichen mithilfe der GetInvalidPathChars() Methode abfragen.

Der path Parameter ist null.

Es wurde ein ungültiges Laufwerk angegeben.

Die vom path Parameter beschriebene Datei wurde nicht gefunden.

Beim Öffnen der Datei ist ein E/A-Fehler aufgetreten.

-oder-

Dieser Vorgang wird auf der aktuellen Plattform nicht unterstützt.

Der angegebene Pfad, der Dateiname oder beide überschreiten die vom System definierte maximale Länge.

Das aktuelle Betriebssystem ist nicht Windows NT oder höher.

Das Dateisystem ist nicht NTFS.

Der path Parameter hat eine Datei angegeben, die schreibgeschützt ist.

-oder-

Dieser Vorgang wird auf der aktuellen Plattform nicht unterstützt.

-oder-

Der path Parameter hat ein Verzeichnis angegeben.

-oder-

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.

Beispiele

Im folgenden Codebeispiel werden die Encrypt Methode und die Decrypt Methode zum Verschlüsseln und Entschlüsseln einer Datei verwendet. Die Datei muss vorhanden sein, damit das Beispiel funktioniert.

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);
        }
    }
}
open System.IO

// Encrypt a file.
let addEncryption fileName = File.Encrypt fileName

// Decrypt a file.
let removeEncryption fileName = File.Decrypt fileName

let fileName = "test.xml"

printfn $"Encrypt {fileName}"

// Encrypt the file.
addEncryption fileName

printfn $"Decrypt {fileName}"

// Decrypt the file.
removeEncryption fileName

printfn "Done"
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

Mit der Encrypt Methode können Sie eine Datei verschlüsseln, sodass nur das Konto, das zum Aufrufen dieser Methode verwendet wird, sie entschlüsseln kann. Verwenden Sie die Decrypt Methode, um eine durch die Encrypt Methode verschlüsselte Datei zu entschlüsseln.

Important

Diese API wird nur auf Windows Plattformen unterstützt, die das NTFS Encrypting File System (EFS) verwenden können. Jeder Versuch, dies auf nicht Windows Systemen, Windows Home Edition-Systemen oder nicht-NTFS-Laufwerken zu verwenden, führt je nach Situation zu einem PlatformNotSupportedException oder NotSupportedException.

Die Verwendung dieser API in .NET Core wird nicht empfohlen. Es wird eingeschlossen, um die Portabilität für Anwendungen zu aktivieren, die zu .NET Core wechseln, aber dennoch explizit auf Windows abzielen.

Die Encrypt Methode erfordert exklusiven Zugriff auf die verschlüsselte Datei und schlägt fehl, wenn ein anderer Prozess die Datei verwendet.

Sowohl die Encrypt Methode als auch die Decrypt Methode verwenden den auf dem Computer installierten kryptografischen Dienstanbieter (CSP) und die Dateiverschlüsselungsschlüssel des Prozesses, der die Methode aufruft.

Diese Methode ist für alle Versionen von Windows nicht verfügbar. Es ist beispielsweise nicht für Home-Editionen verfügbar.

Das aktuelle Dateisystem muss als NTFS formatiert sein.

Gilt für: