File.Encrypt(String) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Cifra un archivo para que solo la cuenta utilizada para cifrar el archivo pueda descifrarlo.
public:
static void Encrypt(System::String ^ path);
public static void Encrypt(string path);
static member Encrypt : string -> unit
Public Shared Sub Encrypt (path As String)
Parámetros
- path
- String
Ruta de acceso que describe un archivo que se va a cifrar.
Excepciones
.NET Framework y .NET Core versiones anteriores a la 2.1: el parámetro path es una cadena de longitud cero, solo contiene espacios en blanco o contiene uno o varios caracteres no válidos. Puede consultar caracteres no válidos mediante el método GetInvalidPathChars().
El path parámetro es null.
Se especificó una unidad no válida.
No se encontró el archivo descrito por el path parámetro .
Error de E/S al abrir el archivo.
O bien
Esta operación no se admite en la plataforma actual.
La ruta de acceso especificada, el nombre de archivo o ambos superan la longitud máxima definida por el sistema.
El sistema operativo actual no es Windows NT ni posterior.
El sistema de archivos no es NTFS.
El path parámetro especificó un archivo que es de solo lectura.
O bien
Esta operación no se admite en la plataforma actual.
O bien
El path parámetro especificó un directorio.
O bien
El autor de la llamada no tiene el permiso necesario.
Ejemplos
En el ejemplo de código siguiente se usa el Encrypt método y el Decrypt método para cifrar y descifrar un archivo. El archivo debe existir para que funcione el ejemplo.
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
Comentarios
El Encrypt método permite cifrar un archivo para que solo la cuenta utilizada para llamar a este método pueda descifrarlo. Use el Decrypt método para descifrar un archivo cifrado por el Encrypt método .
Importante
Esta API solo se admite en Windows plataformas que pueden usar el sistema de archivos de cifrado NTFS (EFS). Cualquier intento de usarlo en sistemas que no sean de Windows, sistemas Windows Home Edition o unidades que no sean NTFS da como resultado una PlatformNotSupportedException o NotSupportedException, dependiendo de la situación.
No se recomienda el uso de esta API en .NET Core; se incluye para habilitar la portabilidad de las aplicaciones que se mueven a .NET Core, pero que siguen teniendo como destino explícitamente Windows.
El Encrypt método requiere acceso exclusivo al archivo que se está cifrando y producirá un error si otro proceso usa el archivo.
Tanto el Encrypt método como el Decrypt método usan el proveedor de servicios criptográficos (CSP) instalado en el equipo y las claves de cifrado de archivos del proceso que llama al método .
Este método no está disponible en todas las versiones de Windows. Por ejemplo, no está disponible en las ediciones Home.
El sistema de archivos actual debe tener el formato NTFS.