File.Encrypt(String) Methode

Definitie

Hiermee versleutelt u een bestand zodat alleen het account dat wordt gebruikt om het bestand te versleutelen, het kan ontsleutelen.

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

Parameters

path
String

Een pad dat een bestand beschrijft dat moet worden versleuteld.

Uitzonderingen

.NET Framework en .NET Core-versies ouder dan 2.1: de parameter path is een tekenreeks met lengte nul, bevat alleen witruimte of bevat een of meer ongeldige tekens. U kunt een query uitvoeren op ongeldige tekens met behulp van de GetInvalidPathChars() methode.

De path parameter is null.

Er is een ongeldig station opgegeven.

Het bestand dat door de path parameter wordt beschreven, is niet gevonden.

Er is een I/O-fout opgetreden tijdens het openen van het bestand.

– of –

Deze bewerking wordt niet ondersteund op het huidige platform.

Het opgegeven pad, de bestandsnaam of beide overschrijden de door het systeem gedefinieerde maximumlengte.

Het huidige besturingssysteem is niet Windows NT of hoger.

Het bestandssysteem is niet NTFS.

De path parameter heeft een bestand opgegeven dat alleen-lezen is.

– of –

Deze bewerking wordt niet ondersteund op het huidige platform.

– of –

De path parameter heeft een map opgegeven.

– of –

De beller heeft niet de vereiste machtiging.

Voorbeelden

In het volgende codevoorbeeld worden de Encrypt methode en de Decrypt methode gebruikt om een bestand te versleutelen en vervolgens te ontsleutelen. Het bestand moet bestaan om het voorbeeld te laten werken.

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

Opmerkingen

Met de Encrypt methode kunt u een bestand versleutelen, zodat alleen het account dat wordt gebruikt om deze methode aan te roepen, het kan ontsleutelen. Gebruik de Decrypt methode om een bestand te ontsleutelen dat door de Encrypt methode is versleuteld.

Important

Deze API wordt alleen ondersteund op Windows platforms die het EFS (NTFS Encrypting File System) kunnen gebruiken. Elke poging om dit te gebruiken op niet-Windows systemen, Windows Home Edition-systemen of niet-NTFS-stations resulteert in een PlatformNotSupportedException of NotSupportedException, afhankelijk van de situatie.

Het gebruik van deze API in .NET Core wordt niet aanbevolen; het wordt opgenomen om draagbaarheid mogelijk te maken voor toepassingen die naar .NET Core gaan, maar die nog steeds expliciet zijn gericht op Windows.

De Encrypt methode vereist exclusieve toegang tot het bestand dat wordt versleuteld en mislukt als een ander proces het bestand gebruikt.

Zowel de Encrypt methode als de Decrypt methode gebruiken de cryptografische serviceprovider (CSP) die is geïnstalleerd op de computer en de bestandsversleutelingssleutels van het proces dat de methode aanroept.

Deze methode is niet beschikbaar voor alle versies van Windows. Het is bijvoorbeeld niet beschikbaar in Home-edities.

Het huidige bestandssysteem moet zijn geformatteerd als NTFS.

Van toepassing op