Partager via


File.Decrypt(String) Méthode

Définition

Déchiffre un fichier qui a été chiffré par le compte actuel à l'aide de la méthode Encrypt(String).

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

Paramètres

path
String

Chemin d'accès qui décrit un fichier à déchiffrer.

Attributs

Exceptions

Versions .NET Framework et .NET Core antérieures à 2.1 : le path paramètre est une chaîne de longueur nulle, contient uniquement des espaces blancs ou contient un ou plusieurs caractères non valides. Vous pouvez rechercher les caractères non valides à l’aide de la méthode GetInvalidPathChars().

Le paramètre path a la valeur null.

Un lecteur non valide a été spécifié.

Le fichier décrit par le paramètre path est introuvable.

Une erreur d’E/S s’est produite lors de l’ouverture du fichier. Par exemple, le fichier chiffré est déjà ouvert.

- ou -

Cette opération n'est pas prise en charge sur la plateforme actuelle.

Le chemin et/ou le nom de fichier spécifiés dépassent la longueur maximale définie par le système.

Le système d’exploitation actuel n’est pas Windows NT ou version ultérieure.

Le système de fichiers n’est pas NTFS.

Le paramètre path a spécifié un fichier accessible en lecture seule.

- ou -

Cette opération n'est pas prise en charge sur la plateforme actuelle.

- ou -

Le paramètre path a spécifié un répertoire.

- ou -

L'appelant n'a pas l'autorisation requise.

Exemples

L’exemple de code suivant utilise la Encrypt méthode et la Decrypt méthode pour chiffrer, puis déchiffrer un fichier. Le fichier doit exister pour que l’exemple fonctionne.

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

Remarques

La Decrypt méthode vous permet de déchiffrer un fichier chiffré à l’aide de la Encrypt méthode . La Decrypt méthode peut déchiffrer uniquement les fichiers chiffrés à l’aide du compte d’utilisateur actuel.

Important

Cette API est uniquement prise en charge sur les plateformes Windows qui peuvent utiliser le système de fichiers DE chiffrement NTFS (EFS). Toute tentative d’utilisation de ce type sur des systèmes non Windows, des systèmes Windows Édition Familiale ou des lecteurs non NTFS entraîne un PlatformNotSupportedException ou NotSupportedException, selon la situation.

L’utilisation de cette API dans .NET Core n’est pas recommandée ; il est inclus pour activer la portabilité pour les applications qui se déplacent vers .NET Core, mais qui ciblent toujours explicitement Windows.

La Decrypt méthode nécessite un accès exclusif au fichier en cours de déchiffrement et déclenche une exception si un autre processus utilise le fichier.

Encrypt La méthode et la Decrypt méthode utilisent le fournisseur de services de chiffrement (CSP) installé sur l’ordinateur et les clés de chiffrement de fichier du processus appelant la méthode.

Le système de fichiers actuel doit être au format NTFS et le système d’exploitation actuel doit être Windows NT ou version ultérieure.

S’applique à