System.IO.File.Decrypt 方法

方法描述

解密由当前帐户使用 Encrypt 方法加密的文件。

语法定义(C# System.IO.File.Decrypt 方法 的用法)

public static void Decrypt(
	string path
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
path System-String 描述要解密的文件的路径。
返回值 void

提示和注释

Decrypt 方法允许解密使用 Encrypt 方法加密的文件。 Decrypt 方法只能解密使用当前用户帐户加密的文件。

Decrypt 方法要求独占访问被解密的文件,如果有其他进程正在使用该文件,此方法将引发异常。 如果文件没有加密,则 Decrypt 将返回一个非零值,这表示成功。

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

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

System.IO.File.Decrypt 方法例子

若要示例正常运行,该文件必须存在。

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

异常

异常 异常描述
ArgumentException path 参数是一个零长度的字符串,仅包含空白、或包含一个或多个由 InvalidPathChars 定义的无效字符。
ArgumentNullException path 参数为 null。
DriveNotFoundException 指定了无效的驱动器。
FileNotFoundException 未能找到 path 参数所描述的文件。
IOException
  • 打开文件时发生了 I/O 错误。 例如,加密的文件已经打开。
  • 在当前平台上不支持此操作。
PathTooLongException 指定的路径、文件名或者两者都超出了系统定义的最大长度。 例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260 个字符。
PlatformNotSupportedException 当前操作系统不是 Windows NT 或更高版本。
NotSupportedException 文件系统不是 NTFS。
UnauthorizedAccessException
  • path 参数指定了一个只读文件。
  • 在当前平台上不支持此操作。
  • path 参数指定了一个目录。
  • 调用方没有所要求的权限。

命名空间

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 系统要求。