File.Decrypt(String) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Dešifruje soubor, který byl zašifrován aktuálním účtem pomocí 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
Cesta, která popisuje soubor k dešifrování.
- Atributy
Výjimky
.NET Framework a verze .NET Core starší než 2.1: Parametr path je řetězec nulové délky, obsahuje pouze prázdné znaky nebo obsahuje jeden nebo více neplatných znaků. Pomocí metody můžete zadat dotaz na neplatné znaky GetInvalidPathChars() .
Parametr path je null.
Byla zadána neplatná jednotka.
Soubor popsaný parametrem path nebyl nalezen.
Při otevírání souboru došlo k vstupně-výstupní chybě. Šifrovaný soubor je například již otevřen.
nebo
Tato operace není na aktuální platformě podporovaná.
Zadaná cesta, název souboru nebo obojí překračují maximální délku definovanou systémem.
Aktuální operační systém není windows NT nebo novější.
Systém souborů není NTFS.
Parametr path zadal soubor, který je jen pro čtení.
nebo
Tato operace není na aktuální platformě podporovaná.
nebo
Parametr path zadal adresář.
nebo
Volající nemá požadované oprávnění.
Příklady
Následující příklad kódu používá metodu Encrypt a metodu Decrypt k šifrování a dešifrování souboru. Aby soubor fungoval, musí existovat.
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
Poznámky
Tato Decrypt metoda umožňuje dešifrovat soubor, který byl zašifrován pomocí Encrypt metody. Metoda Decrypt může dešifrovat pouze soubory, které byly zašifrovány pomocí aktuálního uživatelského účtu.
Important
Toto rozhraní API je podporováno pouze na Windows platformách, které můžou používat systém souborů EFS (NTFS Encrypting File System). Všechny pokusy o použití v systémech, které nejsou Windows, systémy Windows Home Edition nebo jednotky jiné než NTFS, mají v závislosti na situaci PlatformNotSupportedException nebo NotSupportedException.
Použití tohoto rozhraní API v .NET Core se nedoporučuje. Součástí je povolení přenositelnosti pro aplikace, které se přesouvají na .NET Core, ale stále explicitně cílí na Windows.
Metoda Decrypt vyžaduje výhradní přístup k dešifrovaného souboru a vyvolá výjimku, pokud soubor používá jiný proces.
Metoda Encrypt i Decrypt metoda používají kryptografického zprostředkovatele služeb (CSP) nainstalovaného v počítači a šifrovací klíče souboru procesu, který metodu volá.
Aktuální systém souborů musí být formátovaný jako NTFS a aktuální operační systém musí být Windows NT nebo novější.