File.Encrypt(String) Yöntem

Tanım

Yalnızca dosyayı şifrelemek için kullanılan hesabın şifresini çözebilmesi için dosyayı şifreler.

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)

Parametreler

path
String

Şifrelenmesi gereken bir dosyayı açıklayan yol.

Öznitelikler

Özel durumlar

2.1'den eski .NET Framework ve .NET Core sürümleri: path Parametre sıfır uzunlukta bir dizedir, yalnızca boşluk içerir veya bir veya daha fazla geçersiz karakter içerir. yöntemini kullanarak GetInvalidPathChars() geçersiz karakterleri sorgulayabilirsiniz.

path parametresidirnull.

Geçersiz bir sürücü belirtildi.

parametresi tarafından path açıklanan dosya bulunamadı.

Dosyayı açarken bir G/Ç hatası oluştu.

-veya-

Bu işlem geçerli platformda desteklenmiyor.

Belirtilen yol, dosya adı veya her ikisi birden sistem tarafından tanımlanan en fazla uzunluğu aşıyor.

Geçerli işletim sistemi Windows NT veya üzeri değil.

Dosya sistemi NTFS değil.

path parametresi salt okunur bir dosya belirtti.

-veya-

Bu işlem geçerli platformda desteklenmiyor.

-veya-

path parametresi bir dizin belirtti.

-veya-

Çağıranın gerekli izni yok.

Örnekler

Aşağıdaki kod örneği, bir dosyayı şifrelemek ve Decrypt şifresini çözmek için yöntemini ve yöntemini kullanırEncrypt. Örneğin çalışması için dosyanın mevcut olması gerekir.

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

Açıklamalar

Encrypt yöntemi, yalnızca bu yöntemi çağırmak için kullanılan hesabın şifresini çözebilmesi için bir dosyayı şifrelemenize olanak tanır. Decrypt yöntemiyle Encrypt şifrelenmiş bir dosyanın şifresini çözmek için yöntemini kullanın.

Önemli

Bu API yalnızca NTFS Şifreleme Dosya Sistemi'ni (EFS) kullanabilen Windows platformlarında desteklenir. Bunu Windows olmayan sistemlerde, Windows Home Edition sistemlerinde veya NTFS olmayan sürücülerde kullanmaya yönelik herhangi bir girişim, duruma bağlı olarak veya PlatformNotSupportedExceptionNotSupportedExceptionile sonuçlanır.

Bu API'nin .NET Core'da kullanılması önerilmez; .NET Core'a taşınan ancak yine de Windows'u açıkça hedefleyen uygulamalar için taşınabilirliği etkinleştirmek üzere eklenmiştir.

yöntemi şifrelenen Encrypt dosyaya özel erişim gerektirir ve dosyayı başka bir işlem kullanıyorsa başarısız olur.

Encrypt Hem yöntem hem Decrypt de yöntem, bilgisayarda yüklü şifreleme hizmeti sağlayıcısını (CSP) ve yöntemini çağıran işlemin dosya şifreleme anahtarlarını kullanır.

Bu yöntem Windows'un tüm sürümlerinde kullanılamaz. Örneğin, Home sürümlerinde kullanılamaz.

Geçerli dosya sistemi NTFS olarak biçimlendirilmelidir.

Şunlara uygulanır