File.Decrypt(String) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.