File.Decrypt(String) Metod

Definition

Dekrypterar en fil som krypterades av det aktuella kontot med hjälp av Encrypt(String) metoden .

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)

Parametrar

path
String

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

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. Till exempel är den krypterade filen redan öppen.

-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 Decrypt metoden kan du dekryptera en fil som krypterades med hjälp av Encrypt metoden. Metoden Decrypt kan endast dekryptera filer som har krypterats med det aktuella användarkontot.

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 Decrypt kräver exklusiv åtkomst till filen som dekrypteras och skapar ett undantag 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.

Det aktuella filsystemet måste formateras som NTFS och det aktuella operativsystemet måste vara Windows NT eller senare.

Gäller för