File.Decrypt(String) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Encrypt(String) メソッドを使用して、現在のアカウントによって暗号化されたファイルを復号化します。
public:
static void Decrypt(System::String ^ path);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static void Decrypt(string path);
public static void Decrypt(string path);
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member Decrypt : string -> unit
static member Decrypt : string -> unit
Public Shared Sub Decrypt (path As String)
パラメーター
- path
- String
復号化するファイルを記述するパス。
- 属性
例外
.NET Framework および .NET Core バージョン 2.1 より前: path パラメーターは長さ 0 の文字列で、空白のみを含むか、1 つ以上の無効な文字を含みます。
GetInvalidPathChars() メソッドを使用して、無効な文字のクエリを実行できます。
path パラメーターはnull。
無効なドライブが指定されました。
path パラメーターによって記述されたファイルが見つかりませんでした。
ファイルを開くときに I/O エラーが発生しました。 たとえば、暗号化されたファイルは既に開いています。
-又は-
この操作は、現在のプラットフォームではサポートされていません。
指定したパス、ファイル名、またはその両方が、システム定義の最大長を超えています。
現在のオペレーティング システムが Windows NT 以降ではありません。
ファイル システムが NTFS ではありません。
path パラメーターは、読み取り専用のファイルを指定しました。
-又は-
この操作は、現在のプラットフォームではサポートされていません。
-又は-
path パラメーターでディレクトリが指定されました。
-又は-
呼び出し元に必要なアクセス許可がありません。
例
次のコード例では、 Encrypt メソッドと 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);
}
}
}
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
注釈
Decryptメソッドを使用すると、Encrypt メソッドを使用して暗号化されたファイルを復号化できます。 Decryptメソッドは、現在のユーザー アカウントを使用して暗号化されたファイルのみを復号化できます。
Important
この API は、NTFS 暗号化ファイル システム (EFS) を使用できるWindows プラットフォームでのみサポートされます。 これを非Windows システム、Windows Home Edition システム、または NTFS 以外のドライブで使用しようとすると、状況に応じて、PlatformNotSupportedException または NotSupportedExceptionが発生します。
.NET Core でのこの API の使用はお勧めしません。.NET Core に移行しても、Windowsを明示的にターゲットとするアプリケーションの移植性を有効にするために含まれています。
Decrypt メソッドでは、復号化するファイルへの排他的アクセスが必要であり、別のプロセスでファイルを使用している場合は例外が発生します。
Encrypt メソッドと Decrypt メソッドの両方で、コンピューターにインストールされている暗号化サービス プロバイダー (CSP) と、メソッドを呼び出すプロセスのファイル暗号化キーを使用します。
現在のファイル システムは NTFS 形式で、現在のオペレーティング システムは NT 以降Windowsする必要があります。