Bagikan melalui


File.Decrypt(String) Metode

Definisi

Mendekripsi file yang dienkripsi oleh akun saat ini menggunakan Encrypt(String) metode .

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)

Parameter

path
String

Jalur yang menjelaskan file untuk didekripsi.

Atribut

Pengecualian

Versi .NET Framework dan .NET Core yang lebih lama dari 2.1: Parameter path adalah string panjang nol, hanya berisi spasi kosong, atau berisi satu atau beberapa karakter yang tidak valid. Anda dapat mengkueri karakter yang tidak valid dengan menggunakan GetInvalidPathChars() metode .

Parameternya path adalah null.

Kandar yang tidak valid ditentukan.

File yang path dijelaskan oleh parameter tidak dapat ditemukan.

Terjadi kesalahan I/O saat membuka file. Misalnya, file terenkripsi sudah terbuka.

-atau-

Operasi ini tidak didukung pada platform saat ini.

Jalur yang ditentukan, nama file, atau keduanya melebihi panjang maksimum yang ditentukan sistem.

Sistem operasi saat ini bukan Windows NT atau yang lebih baru.

Sistem file bukan NTFS.

Parameter path menentukan file yang bersifat baca-saja.

-atau-

Operasi ini tidak didukung pada platform saat ini.

-atau-

Parameter path menentukan direktori.

-atau-

Pemanggil tidak memiliki izin yang diperlukan.

Contoh

Contoh kode berikut menggunakan Encrypt metode dan Decrypt metode untuk mengenkripsi lalu mendekripsi file. File harus ada agar contoh berfungsi.

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

Keterangan

Metode ini Decrypt memungkinkan Anda untuk mendekripsi file yang dienkripsi menggunakan Encrypt metode . Metode ini Decrypt hanya dapat mendekripsi file yang dienkripsi menggunakan akun pengguna saat ini.

Penting

API ini hanya didukung pada platform Windows yang dapat menggunakan NTFS Encrypting File System (EFS). Setiap upaya untuk menggunakan ini pada sistem non-Windows, sistem Windows Home Edition, atau drive non-NTFS menghasilkan PlatformNotSupportedException atau NotSupportedException, tergantung pada situasinya.

Penggunaan API ini di .NET Core tidak disarankan; ini termasuk untuk mengaktifkan portabilitas untuk aplikasi yang pindah ke .NET Core tetapi masih secara eksplisit menargetkan Windows.

Metode ini Decrypt memerlukan akses eksklusif ke file yang didekripsi, dan akan menimbulkan pengecualian jika proses lain menggunakan file .

Encrypt Metode dan Decrypt metode menggunakan penyedia layanan kriptografi (CSP) yang diinstal pada komputer dan kunci enkripsi file dari proses yang memanggil metode .

Sistem file saat ini harus diformat sebagai NTFS dan sistem operasi saat ini harus Windows NT atau yang lebih baru.

Berlaku untuk