File.Decrypt(String) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Odszyfrowuje plik, który został zaszyfrowany przez bieżące konto przy użyciu Encrypt(String) metody .
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)
Parametry
- path
- String
Ścieżka opisujący plik do odszyfrowywania.
- Atrybuty
Wyjątki
.NET Framework i .NET Core w wersjach starszych niż 2.1: parametr path jest ciągiem o zerowej długości, zawiera tylko biały znak lub zawiera co najmniej jeden nieprawidłowy znak. Możesz wykonać zapytanie o nieprawidłowe znaki przy użyciu GetInvalidPathChars() metody .
Parametr path jest null.
Określono nieprawidłowy dysk.
Nie można odnaleźć pliku opisanego path przez parametr .
Wystąpił błąd we/wy podczas otwierania pliku. Na przykład zaszyfrowany plik jest już otwarty.
— lub —
Ta operacja nie jest obsługiwana na bieżącej platformie.
Określona ścieżka, nazwa pliku lub obie metody przekraczają maksymalną długość zdefiniowaną przez system.
Bieżący system operacyjny nie jest systemem Windows NT lub nowszym.
System plików nie jest NTFS.
Parametr path określił plik, który jest tylko do odczytu.
— lub —
Ta operacja nie jest obsługiwana na bieżącej platformie.
— lub —
Parametr path określił katalog.
— lub —
Obiekt wywołujący nie ma wymaganych uprawnień.
Przykłady
Poniższy przykład kodu używa Encrypt metody i Decrypt metody do szyfrowania, a następnie odszyfrowywania pliku. Plik musi istnieć, aby przykład działał.
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
Uwagi
Metoda Decrypt umożliwia odszyfrowywanie pliku zaszyfrowanego przy użyciu Encrypt metody . Metoda Decrypt może odszyfrować tylko pliki zaszyfrowane przy użyciu bieżącego konta użytkownika.
Ważna
Ten interfejs API jest obsługiwany tylko na platformach Windows, które mogą używać systemu szyfrowania plików NTFS (EFS). Każda próba użycia tej funkcji w systemach innych niż Windows, systemach Windows Home Edition lub dyskach innych niż NTFS powoduje PlatformNotSupportedException lub NotSupportedException w zależności od sytuacji.
Korzystanie z tego interfejsu API w programie .NET Core nie jest zalecane. Jest on dołączony do umożliwienia przenoszenia aplikacji, które przechodzą do .NET Core, ale nadal jawnie są przeznaczone dla Windows.
Metoda Decrypt wymaga wyłącznego dostępu do odszyfrowanego pliku i zgłosi wyjątek, jeśli inny proces używa pliku.
Encrypt Zarówno metoda, jak i Decrypt metoda używają dostawcy usług kryptograficznych (CSP) zainstalowanego na komputerze i kluczy szyfrowania plików procesu wywołującego metodę.
Bieżący system plików musi być sformatowany jako NTFS, a bieżący system operacyjny musi być Windows NT lub nowszy.