File.Encrypt(String) Metod

Definition

Krypterar en fil så att endast det konto som används för att kryptera filen kan dekryptera den.

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)

Parametrar

path
String

En sökväg som beskriver en fil som ska krypteras.

Undantag

.NET Framework- och .NET Core-versioner som är äldre än 2.1: parametern path är en sträng med noll längd, innehåller endast tomt utrymme eller innehåller ett eller flera ogiltiga tecken. Du kan fråga efter ogiltiga tecken med hjälp GetInvalidPathChars() av metoden .

Parametern path är null.

En ogiltig enhet har angetts.

Det gick inte att hitta filen som beskrivs av parametern path .

Ett I/O-fel uppstod när filen öppnades.

-eller-

Den här åtgärden stöds inte på den aktuella plattformen.

Den angivna sökvägen, filnamnet eller båda överskrider den systemdefinierade maximala längden.

Det aktuella operativsystemet är inte Windows NT eller senare.

Filsystemet är inte NTFS.

Parametern path angav en fil som är skrivskyddad.

-eller-

Den här åtgärden stöds inte på den aktuella plattformen.

-eller-

Parametern path angav en katalog.

-eller-

Anroparen har inte den behörighet som krävs.

Exempel

I följande kodexempel används Encrypt metoden och Decrypt metoden för att kryptera och sedan dekryptera en fil. Filen måste finnas för att exemplet ska fungera.

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

Kommentarer

Med Encrypt metoden kan du kryptera en fil så att endast det konto som används för att anropa den här metoden kan dekryptera den. Decrypt Använd metoden för att dekryptera en fil som krypterats med Encrypt metoden.

Important

Det här API:et stöds endast på Windows plattformar som kan använda EFS (NTFS Encrypting File System). Alla försök att använda detta på icke-Windows system, Windows Home Edition-system eller icke-NTFS-enheter resulterar i en PlatformNotSupportedException eller NotSupportedException, beroende på situationen.

Användning av det här API:et i .NET Core rekommenderas inte. Det ingår för att aktivera portabilitet för program som flyttas till .NET Core men fortfarande uttryckligen riktar in sig på Windows.

Metoden Encrypt kräver exklusiv åtkomst till filen som krypteras och misslyckas om en annan process använder filen.

Encrypt Både metoden och Decrypt metoden använder den kryptografiska tjänstprovidern (CSP) som är installerad på datorn och filkrypteringsnycklarna för den process som anropar metoden.

Den här metoden är inte tillgänglig för alla versioner av Windows. Den är till exempel inte tillgänglig i startversioner.

Det aktuella filsystemet måste formateras som NTFS.

Gäller för