File.Decrypt(String) Método

Definição

Descriptografa um arquivo que foi criptografado pela conta atual usando o Encrypt(String) método.

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)

Parâmetros

path
String

Um caminho que descreve um arquivo para descriptografar.

Exceções

.NET Framework e .NET Core versões anteriores a 2.1: o parâmetro path é uma cadeia de caracteres de comprimento zero, contém apenas espaço em branco ou contém um ou mais caracteres inválidos. Você pode consultar caracteres inválidos usando o GetInvalidPathChars() método.

O path parâmetro é null.

Uma unidade inválida foi especificada.

Não foi possível encontrar o path arquivo descrito pelo parâmetro.

Ocorreu um erro de E/S ao abrir o arquivo. Por exemplo, o arquivo criptografado já está aberto.

-ou-

Não há suporte para essa operação na plataforma atual.

O caminho especificado, o nome do arquivo ou ambos excedem o comprimento máximo definido pelo sistema.

O sistema operacional atual não é o Windows NT ou posterior.

O sistema de arquivos não é NTFS.

O path parâmetro especificou um arquivo que é somente leitura.

-ou-

Não há suporte para essa operação na plataforma atual.

-ou-

O path parâmetro especificou um diretório.

-ou-

O chamador não tem a permissão necessária.

Exemplos

O exemplo de código a seguir usa o Encrypt método e o Decrypt método para criptografar e descriptografar um arquivo. O arquivo deve existir para que o exemplo funcione.

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

Comentários

O Decrypt método permite descriptografar um arquivo que foi criptografado usando o Encrypt método. O Decrypt método pode descriptografar apenas os arquivos que foram criptografados usando a conta de usuário atual.

Importante

Essa API só tem suporte em plataformas Windows que podem usar o EFS (Sistema de Arquivos de Criptografia NTFS). Qualquer tentativa de usá-lo em sistemas não Windows, sistemas Windows Home Edition ou unidades não NTFS resulta em um PlatformNotSupportedException ou NotSupportedException, dependendo da situação.

O uso dessa API no .NET Core não é recomendado; ele é incluído para habilitar a portabilidade de aplicativos que se movem para .NET Core, mas ainda direcionam explicitamente Windows.

O Decrypt método requer acesso exclusivo ao arquivo que está sendo descriptografado e gerará uma exceção se outro processo estiver usando o arquivo.

Encrypt O método e o Decrypt método usam o CSP (provedor de serviços criptográfico) instalado no computador e as chaves de criptografia de arquivo do processo que chama o método.

O sistema de arquivos atual deve ser formatado como NTFS e o sistema operacional atual deve ser Windows NT ou posterior.

Aplica-se a