File.Decrypt(String) File.Decrypt(String) File.Decrypt(String) File.Decrypt(String) Method

Definizione

Decrittografa un file crittografato dall'account corrente usando il metodo Encrypt(String).Decrypts a file that was encrypted by the current account using the Encrypt(String) method.

public:
 static void Decrypt(System::String ^ path);
public static void Decrypt (string path);
static member Decrypt : string -> unit
Public Shared Sub Decrypt (path As String)

Parametri

path
String String String String

Percorso che descrive il file da decrittografare.A path that describes a file to decrypt.

Eccezioni

Il parametro path è una stringa di lunghezza zero, contiene solo spazi vuoti o contiene uno o più caratteri non validi definiti da InvalidPathChars.The path parameter is a zero-length string, contains only white space, or contains one or more invalid characters as defined by InvalidPathChars.

Il valore del parametro path è null.The path parameter is null.

È stata specificata un'unità non valida.An invalid drive was specified.

Il file descritto dal parametro path non è stato trovato.The file described by the path parameter could not be found.

Si è verificato un errore di I/O durante l'apertura del file.An I/O error occurred while opening the file. Ad esempio, il file crittografato è già aperto.For example, the encrypted file is already open.

-oppure--or-

L'operazione non è supportata sulla piattaforma corrente.This operation is not supported on the current platform.

Il percorso specificato, il nome file o entrambi superano la lunghezza massima definita dal sistema.The specified path, file name, or both exceed the system-defined maximum length.

Il sistema operativo corrente non è Windows NT o versioni successive.The current operating system is not Windows NT or later.

Il file system non è NTFS.The file system is not NTFS.

Il parametro path specifica un file di sola lettura.The path parameter specified a file that is read-only.

-oppure--or- L'operazione non è supportata sulla piattaforma corrente.This operation is not supported on the current platform.

In alternativa-or- Il parametro path specifica una directory.The path parameter specified a directory.

In alternativa-or- Il chiamante non dispone dell'autorizzazione richiesta.The caller does not have the required permission.

Esempi

Nell'esempio di codice seguente vengono Encrypt usati il metodo Decrypt e il metodo per crittografare e quindi decrittografare un file.The following code example uses the Encrypt method and the Decrypt method to encrypt and then decrypt a file. Per il corretto funzionamento dell'esempio, è necessario che il file esista.The file must exist for the example to work.

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

Commenti

Il Decrypt metodo consente di decrittografare un file crittografato utilizzando il Encrypt metodo.The Decrypt method allows you to decrypt a file that was encrypted using the Encrypt method. Il Decrypt metodo può decrittografare solo i file che sono stati crittografati con l'account utente corrente.The Decrypt method can decrypt only files that were encrypted using the current user account.

Importante

Questa API è supportata solo nelle piattaforme Windows in grado di utilizzare NTFS Encrypting File System (EFS).This API is only supported on Windows platforms that are able to use the NTFS Encrypting File System (EFS). Qualsiasi tentativo di utilizzare questa operazione nei sistemi non Windows, nei sistemi Windows Home Edition o nelle unità non NTFS comporta un PlatformNotSupportedException o NotSupportedException, a seconda della situazione.Any attempt to use this on non-Windows systems, Windows Home Edition systems, or non-NTFS drives results in a PlatformNotSupportedException or NotSupportedException, depending on the situation.

Non è consigliabile usare questa API in .NET Core. è incluso per abilitare la portabilità per le applicazioni che si spostano in .NET Core, ma sono ancora esplicitamente destinate a Windows.Use of this API in .NET Core is not recommended; it is included to enable portability for applications that move to .NET Core but still explicitly target Windows.

Il Decrypt metodo richiede l'accesso esclusivo al file da decrittografare e genera un'eccezione se un altro processo sta utilizzando il file.The Decrypt method requires exclusive access to the file being decrypted, and will raise an exception if another process is using the file. Se il file non è crittografato Decrypt , restituirà un valore diverso da zero, che indica l'esito positivo.If the file is not encrypted, Decrypt will return a nonzero value, which indicates success.

Sia il Encrypt metodo che il Decrypt metodo utilizzano il provider del servizio di crittografia (CSP) installato nel computer e le chiavi di crittografia del file del processo che chiama il metodo.Both the Encrypt method and the Decrypt method use the cryptographic service provider (CSP) installed on the computer and the file encryption keys of the process calling the method.

Il file system corrente deve essere formattato come NTFS e il sistema operativo corrente deve essere Windows NT o versione successiva.The current file system must be formatted as NTFS and the current operating system must be Windows NT or later.

Sicurezza

FileIOPermission
autorizzazione per la lettura e la scrittura nel file descritto dal path parametro.for permission to read and write to the file described by the path parameter. Azione di sicurezza: Domanda.Security action: Demand. Enumerazioni associate: Read,WriteAssociated enumerations: Read, Write

Si applica a