Ler em inglês

Compartilhar via


File.Decrypt(String) Método

Definição

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

[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static void Decrypt(string path);
public static void Decrypt(string path);

Parâmetros

path
String

Um caminho que descreve um arquivo a ser descriptografado.

Atributos

Exceções

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

O parâmetro path é null.

Uma unidade inválida foi especificada.

O arquivo descrito pelo parâmetro path não pôde ser encontrado.

Um erro de E/S ocorreu 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 de arquivo, ou ambos excedem o tamanho máximo definido pelo sistema.

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

O sistema de arquivos não é NTFS.

O parâmetro path especificou um arquivo somente leitura.

- ou -

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

- ou -

O parâmetro path 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);
        }
    }
}

Comentários

O Decrypt método permite descriptografar um arquivo que foi criptografado usando o Encrypt método . O Decrypt método pode descriptografar somente 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 usar isso 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 está incluído para habilitar a portabilidade para aplicativos que se movem para o .NET Core, mas ainda direcionam explicitamente o 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 o Windows NT ou posterior.

Aplica-se a

Produto Versões
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1