File.Encrypt(String) Méthode

Définition

Chiffre un fichier de sorte que seul le compte utilisé pour chiffrer le fichier peut le déchiffrer.

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)

Paramètres

path
String

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

Attributs

Exceptions

versions .NET Framework et .net Core antérieures à 2,1 : le path paramètre est une chaîne de longueur nulle, ne contient que 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.

  • 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);
        }
    }
}
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 Encrypt méthode vous permet de chiffrer un fichier afin que seul le compte utilisé pour appeler cette méthode puisse le déchiffrer. Utilisez la Decrypt méthode pour déchiffrer un fichier chiffré par la Encrypt méthode.

Important

cette API est uniquement prise en charge sur les plates-formes Windows qui peuvent utiliser le système de système de fichiers EFS NTFS. toute tentative d’utilisation de cette fonction sur des systèmes non-Windows, des systèmes de Windows édition personnelle ou des lecteurs non NTFS entraîne une PlatformNotSupportedException ou NotSupportedException , selon la situation.

L’utilisation de cette API dans .NET Core n’est pas recommandée. Il est inclus pour permettre la portabilité des applications qui se déplacent vers .NET Core, mais qui ciblent toujours Windows de manière explicite.

La Encrypt méthode nécessite un accès exclusif au fichier chiffré et échoue si un autre processus utilise le fichier.

La Encrypt 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 qui appelle la méthode.

Cette méthode n’est pas disponible sur toutes les versions de Windows. Par exemple, il n’est pas disponible dans les Éditions familiales.

Le système de fichiers actuel doit être au format NTFS.

S’applique à