Aracılığıyla paylaş


File.Decrypt(String) Yöntem

Tanım

yöntemini kullanarak Encrypt(String) geçerli hesap tarafından şifrelenen bir dosyanın şifresini çözer.

public:
 static void Decrypt(System::String ^ path);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static void Decrypt (string path);
public static void Decrypt (string path);
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member Decrypt : string -> unit
static member Decrypt : string -> unit
Public Shared Sub Decrypt (path As String)

Parametreler

path
String

Şifresi çözülecek dosyayı açıklayan yol.

Öznitelikler

Özel durumlar

2.1'den eski .NET Framework ve .NET Core sürümleri: path Parametre sıfır uzunluklu bir dizedir, yalnızca boşluk içerir veya bir veya daha fazla geçersiz karakter içerir. yöntemini kullanarak GetInvalidPathChars() geçersiz karakterleri sorgulayabilirsiniz.

path parametresidirnull.

Geçersiz bir sürücü belirtildi.

parametresi tarafından path açıklanan dosya bulunamadı.

Dosyayı açarken bir G/Ç hatası oluştu. Örneğin, şifrelenmiş dosya zaten açık.

-veya-

Bu işlem geçerli platformda desteklenmiyor.

Belirtilen yol, dosya adı veya her ikisi birden sistem tarafından tanımlanan en fazla uzunluğu aşıyor.

Geçerli işletim sistemi Windows NT veya üzeri değil.

Dosya sistemi NTFS değil.

path parametresi salt okunur bir dosya belirtti.

-veya-

Bu işlem geçerli platformda desteklenmiyor.

-veya-

path parametresi bir dizin belirtti.

-veya-

Çağıranın gerekli izni yok.

Örnekler

Aşağıdaki kod örneği, bir dosyayı şifrelemek ve Decrypt şifresini çözmek için yöntemini ve yöntemini kullanırEncrypt. Örneğin çalışması için dosyanın mevcut olması gerekir.

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

Açıklamalar

yöntemi, Decrypt yöntemi kullanılarak Encrypt şifrelenen bir dosyanın şifresini çözmenize olanak tanır. Decrypt yöntemi yalnızca geçerli kullanıcı hesabı kullanılarak şifrelenen dosyaların şifresini çözebilir.

Önemli

Bu API yalnızca NTFS Şifreleme Dosya Sistemi'ni (EFS) kullanabilen Windows platformlarında desteklenir. Bunu Windows dışı sistemlerde, Windows Home Edition sistemlerinde veya NTFS olmayan sürücülerde kullanma girişimleri duruma bağlı olarak veya PlatformNotSupportedExceptionNotSupportedExceptionile sonuçlanır.

Bu API'nin .NET Core'da kullanılması önerilmez; .NET Core'a taşınan ancak yine de Açıkça Windows'ı hedefleyen uygulamalar için taşınabilirliği etkinleştirmek üzere eklenmiştir.

yöntemi, Decrypt şifresi çözülen dosyaya özel erişim gerektirir ve dosyayı başka bir işlem kullanıyorsa özel durum oluşturur.

Encrypt Hem yöntem hem Decrypt de yöntem, bilgisayarda yüklü şifreleme hizmeti sağlayıcısını (CSP) ve yöntemini çağıran işlemin dosya şifreleme anahtarlarını kullanır.

Geçerli dosya sistemi NTFS olarak biçimlendirilmeli ve geçerli işletim sistemi Windows NT veya üzeri olmalıdır.

Şunlara uygulanır