System.IO.FileInfo.Encrypt 方法

方法描述

将某个文件加密,使得只有加密该文件的帐户才能将其解密。

语法定义(C# System.IO.FileInfo.Encrypt 方法 的用法)

[ComVisibleAttribute(false)]
public void Encrypt()

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
返回值 void

提示和注释

Encrypt 方法允许您将某个文件加密,使得只有调用此方法的帐户才能将其解密。 使用 Decrypt 方法将 Encrypt 方法加密的文件解密。

Encrypt 方法和 Decrypt 方法都使用安装在计算机上的加密服务提供程序 (CSP) 和调用该方法的进程的文件加密密钥。

当前文件系统必须格式化为 NTFS,当前操作系统必须是 Microsoft Windows NT 或更高版本。

System.IO.FileInfo.Encrypt 方法例子

下面的代码示例使用 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

异常

异常 异常描述
DriveNotFoundException 指定了无效的驱动器。
FileNotFoundException 未能找到当前 FileInfo 对象所描述的文件。
IOException 打开文件时发生了 I/O 错误。
NotSupportedException 文件系统不是 NTFS。
PlatformNotSupportedException 当前操作系统不是 Microsoft Windows NT 或更高版本。
UnauthorizedAccessException
  • 当前 FileInfo 对象描述的文件是只读文件。
  • 在当前平台上不支持此操作。
  • 调用方没有所要求的权限。

命名空间

namespace: System.IO

程序集: mscorlib(在 mscorlib.dll 中)

版本信息

.NET Framework 受以下版本支持:4、3.5、3.0、2.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。