FileInfo.Encrypt 方法

定義

加密檔案,只有使用加密檔案的帳戶才能將其解密。

[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public void Encrypt ();
public void Encrypt ();
[System.Runtime.InteropServices.ComVisible(false)]
public void Encrypt ();
屬性

例外狀況

指定的磁碟機無效。

找不到目前 FileInfo 物件所描述的檔案。

開啟檔案時發生 I/O 錯誤。

檔案系統不是 NTFS。

目前的作業系統不是 Microsoft Windows NT 或更新版本。

目前 FileInfo 物件所描述的檔案是唯讀的。

-或-

這個作業在目前平台不受支援。

-或-

呼叫端沒有必要的權限。

範例

下列程式代碼範例會 Encrypt 使用 方法和 方法來 Decrypt 加密檔案,然後將其解密。

using System;
using System.IO;
using System.Security.AccessControl;

namespace FileSystemExample
{
    class FileExample
    {
        public static void Main()
        {
            try
            {
                string FileName = @"c:\MyTest.txt";

                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);
            }
        }

        public static void AddEncryption(string FileName)
        {
            // Create a new FileInfo object.
            FileInfo fInfo = new FileInfo(FileName);
            if (!fInfo.Exists)
            {
                //Create the file.
                fInfo.Create();
            }
            // Add encryption.
            fInfo.Encrypt();
        }

        public static void RemoveEncryption(string FileName)
        {
            // Create a new FileInfo object.
            FileInfo fInfo = new FileInfo(FileName);
            if (!fInfo.Exists)
            {
                //Create the file.
                fInfo.Create();
            }
            // Remove encryption.
            fInfo.Decrypt();
        }
    }
}

//This code produces output similar to the following;
//results may vary based on the computer/file structure/etc.:
//
//Encrypt c:\MyTest.txt
//Decrypt c:\MyTest.txt
//Done

備註

方法 Encrypt 可讓您加密檔案,以便只有用來呼叫這個方法的帳戶才能解密它。 Decrypt使用方法來解密 由方法加密的Encrypt檔案。

方法與 Decrypt 方法都會Encrypt使用安裝在計算機上的密碼編譯服務提供者 (CSP) ,以及呼叫 方法之進程的檔案加密密鑰。

目前的文件系統必須格式化為NTFS,而且目前的作業系統必須是 Microsoft Windows NT 或更新版本。

適用於