英語で読む

次の方法で共有


FileInfo.Decrypt メソッド

定義

Encrypt() メソッドを使用して現在のアカウントによって暗号化されたファイルを復号化します。

C#
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public void Decrypt ();
C#
public void Decrypt ();
C#
[System.Runtime.InteropServices.ComVisible(false)]
public void Decrypt ();
属性

例外

正しくないドライブが指定されました。

現在の FileInfo オブジェクトで記述されているファイルが見つかりませんでした。

ファイルを開くときに、I/O エラーが発生しました。

このファイル システムは NTFS ではありません。

現在のオペレーティング システムは Microsoft Windows NT 以降ではありません。

現在の FileInfo オブジェクトで記述されているファイルは読み取り専用です。

- または -

この操作は、現在のプラットフォームではサポートされていません。

または

呼び出し元に、必要なアクセス許可がありません。

次のコード例では、 メソッドと メソッドをEncryptDecrypt使用して、ファイルの暗号化と暗号化解除を行います。

C#
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

注釈

Decryptメソッドを使用すると、 メソッドを使用して暗号化されたファイルをEncrypt復号化できます。 メソッドは、現在の Decrypt ユーザー アカウントを使用して暗号化されたファイルのみを復号化できます。

メソッドと メソッドのEncryptDecrypt両方で、コンピューターにインストールされている暗号化サービス プロバイダー (CSP) と、 メソッドを呼び出すプロセスのファイル暗号化キーを使用します。

現在のファイル システムは NTFS 形式で、現在のオペレーティング システムは Microsoft Windows NT 以降である必要があります。

適用対象

製品 バージョン
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1