File.Encrypt(String) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Шифрует файл таким образом, чтобы только учетная запись, используемая для шифрования файла, может расшифровать его.
public:
static void Encrypt(System::String ^ path);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static void Encrypt(string path);
public static void Encrypt(string path);
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member Encrypt : string -> unit
static member Encrypt : string -> unit
Public Shared Sub Encrypt (path As String)
Параметры
- path
- String
Путь, описывающий файл для шифрования.
- Атрибуты
Исключения
.NET Framework и .NET Core версии старше 2.1: параметр path является строкой нулевой длины, содержит только пробел или содержит один или несколько недопустимых символов. Вы можете запросить недопустимые символы с помощью метода GetInvalidPathChars().
Параметр path имеет значение null.
Указан недопустимый диск.
Не удалось найти файл, описанный параметром path .
При открытии файла произошла ошибка ввода-вывода.
–или–
Эта операция не поддерживается на текущей платформе.
Указанный путь, имя файла или оба превышают определенную системой максимальную длину.
Текущая операционная система не является 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
Комментарии
Метод Encrypt позволяет шифровать файл таким образом, чтобы только учетная запись, используемая для вызова этого метода, может расшифровать его. Decrypt Используйте метод для расшифровки файла, зашифрованного методомEncrypt.
Important
Этот API поддерживается только на платформах Windows, которые могут использовать файловую систему NTFS(EFS). Любая попытка использовать это в системах без Windows, системах Windows Home Edition или дисках, отличных от NTFS, приводит к PlatformNotSupportedException или NotSupportedException в зависимости от ситуации.
Использование этого API в .NET Core не рекомендуется; оно включается для включения переносимости приложений, которые перемещаются на .NET Core, но по-прежнему явно целевые Windows.
Метод Encrypt требует монопольного доступа к зашифрованному файлу и завершится ошибкой, если другой процесс использует файл.
Метод Encrypt и Decrypt метод используют поставщик служб шифрования (CSP), установленный на компьютере, и ключи шифрования файлов процесса, вызывающего метод.
Этот метод недоступен во всех версиях Windows. Например, он недоступен в выпусках Home.
Текущая файловая система должна быть отформатирована как NTFS.