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인 문자열이거나 공백만 포함하거나 하나 이상의 잘못된 문자를 포함합니다.
GetInvalidPathChars() 메서드를 사용하여 잘못된 문자를 쿼리할 수 있습니다.
path
매개 변수가 null
인 경우
잘못된 드라이브를 지정했습니다.
path
매개 변수에 설명된 파일을 찾을 수 없습니다.
지정된 경로, 파일 이름 또는 둘 다가 시스템에서 정의한 최대 길이를 초과합니다.
현재 운영 체제가 Windows NT 이상이 아닙니다.
NTFS 파일 시스템이 아닙니다.
path
매개 변수가 읽기 전용 파일을 지정합니다.
또는
현재 플랫폼이 해당 작업을 지원하지 않는 경우
또는
path
매개 변수가 디렉터리를 지정합니다.
또는
호출자에게 필요한 권한이 없는 경우
예제
다음 코드 예제에서는 메서드와 메서드를 Decrypt 사용하여 Encrypt 파일을 암호화한 다음 암호를 해독합니다. 예제가 작동하려면 파일이 있어야 합니다.
using namespace System;
using namespace System::IO;
int main()
{
String^ fileName = "test.xml";
if (!File::Exists(fileName))
{
Console::WriteLine("The file " + fileName
+ " does not exist.");
return 0;
}
try
{
Console::WriteLine("Encrypt " + fileName);
// Encrypt the file.
File::Encrypt(fileName);
Console::WriteLine("Decrypt " + fileName);
// Decrypt the file.
File::Decrypt(fileName);
Console::WriteLine("Done");
}
catch (IOException^ ex)
{
Console::WriteLine("There was an IO problem.");
Console::WriteLine(ex->Message);
}
catch (PlatformNotSupportedException^)
{
Console::WriteLine("Encryption is not supported on " +
"this system.");
}
catch (NotSupportedException^)
{
Console::WriteLine("Encryption is not supported on " +
"this system.");
}
catch (UnauthorizedAccessException^)
{
Console::WriteLine("The operation could not be "
+ "carried out.");
}
}
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 현재 사용자 계정을 사용하여 암호화된 파일만 암호 해독할 수 있습니다.
중요
이 API는 EFS(NTFS 암호화 파일 시스템)를 사용할 수 있는 Windows 플랫폼에서만 지원됩니다. 비 Windows 시스템, Windows Home Edition 시스템 또는 비 NTFS 드라이브에서 PlatformNotSupportedException 이를 사용하려고 하면 상황에 따라 또는 NotSupportedException가 발생합니다.
.NET Core에서 이 API를 사용하지 않는 것이 좋습니다. .NET Core로 이동하지만 여전히 명시적으로 Windows를 대상으로 하는 애플리케이션에 이식성을 사용하도록 설정하기 위해 포함됩니다.
메서드는 Decrypt 암호 해독되는 파일에 대한 단독 액세스 권한이 필요하며 다른 프로세스가 파일을 사용하는 경우 예외가 발생합니다.
Encrypt 메서드와 Decrypt 메서드는 모두 컴퓨터에 설치된 CSP(암호화 서비스 공급자)와 메서드를 호출하는 프로세스의 파일 암호화 키를 사용합니다.
현재 파일 시스템의 형식은 NTFS여야 하며 현재 운영 체제는 Windows NT 이상이어야 합니다.
적용 대상
.NET