Bagikan melalui


File.Encrypt(String) Metode

Definisi

Mengenkripsi file sehingga hanya akun yang digunakan untuk mengenkripsi file yang dapat mendekripsinya.

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

Parameter

path
String

Jalur yang menjelaskan file untuk dienkripsi.

Atribut

Pengecualian

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

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.

-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 Encrypt memungkinkan Anda mengenkripsi file sehingga hanya akun yang digunakan untuk memanggil metode ini yang dapat mendekripsinya. Decrypt Gunakan metode untuk mendekripsi file yang dienkripsi oleh Encrypt metode .

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; disertakan untuk mengaktifkan portabilitas untuk aplikasi yang pindah ke .NET Core tetapi masih secara eksplisit menargetkan Windows.

Metode ini Encrypt memerlukan akses eksklusif ke file yang sedang dienkripsi, dan akan gagal 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 .

Metode ini tidak tersedia pada semua versi Windows. Misalnya, tidak tersedia di edisi Home.

Sistem file saat ini harus diformat sebagai NTFS.

Berlaku untuk