File.Encrypt(String) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Crittografa un file in modo che solo l'account usato per crittografare il file possa decrittografarlo.
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)
Parametri
- path
- String
Percorso che descrive un file da crittografare.
- Attributi
Eccezioni
.NET Framework e le versioni .NET Core precedenti alla 2.1: il parametro path è una stringa di lunghezza zero, contiene solo spazi vuoti o contiene uno o più caratteri non validi. È possibile eseguire una query per individuare caratteri non validi usando il metodo GetInvalidPathChars().
Il path parametro è null.
È stata specificata un'unità non valida.
Impossibile trovare il path file descritto dal parametro .
Si è verificato un errore di I/O durante l'apertura del file.
oppure
Questa operazione non è supportata nella piattaforma corrente.
Il percorso, il nome file specificato o entrambi superano la lunghezza massima definita dal sistema.
Il sistema operativo corrente non è Windows NT o versione successiva.
Il file system non è NTFS.
Il path parametro ha specificato un file di sola lettura.
oppure
Questa operazione non è supportata nella piattaforma corrente.
oppure
Il path parametro ha specificato una directory.
oppure
Il chiamante non dispone dell'autorizzazione richiesta.
Esempio
Nell'esempio di codice seguente viene utilizzato il Encrypt metodo e il Decrypt metodo per crittografare e quindi decrittografare un file. Il file deve esistere per il funzionamento dell'esempio.
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
Commenti
Il Encrypt metodo consente di crittografare un file in modo che solo l'account usato per chiamare questo metodo possa decrittografarlo. Utilizzare il Decrypt metodo per decrittografare un file crittografato dal Encrypt metodo .
Importante
Questa API è supportata solo nelle piattaforme Windows in grado di usare NTFS Encrypting File System (EFS). Qualsiasi tentativo di utilizzarlo in sistemi non Windows, Windows sistemi Home Edition o unità non NTFS genera un PlatformNotSupportedException o NotSupportedException, a seconda della situazione.
L'uso di questa API in .NET Core non è consigliato. È incluso per abilitare la portabilità per le applicazioni che passano a .NET Core, ma che usano ancora in modo esplicito Windows.
Il Encrypt metodo richiede l'accesso esclusivo al file crittografato e avrà esito negativo se un altro processo usa il file.
Sia il Encrypt metodo che il Decrypt metodo usano il provider del servizio di crittografia (CSP) installato nel computer e le chiavi di crittografia dei file del processo che chiama il metodo .
Questo metodo non è disponibile in tutte le versioni di Windows. Ad esempio, non è disponibile nelle edizioni Home.
Il file system corrente deve essere formattato come NTFS.