File.Encrypt(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.
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, 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.
- 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 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 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 Encrypt méthode nécessite un accès exclusif au fichier chiffré et échoue 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.
Cette méthode n’est pas disponible sur toutes les versions de Windows. Par exemple, il n’est pas disponible sur les éditions Home.
Le système de fichiers actuel doit être mis en forme en NTFS.