ProtectedMemory.Protect(Byte[], MemoryProtectionScope) ProtectedMemory.Protect(Byte[], MemoryProtectionScope) ProtectedMemory.Protect(Byte[], MemoryProtectionScope) ProtectedMemory.Protect(Byte[], MemoryProtectionScope) Method

Definice

Chrání zadaná data.Protects the specified data.

public:
 static void Protect(cli::array <System::Byte> ^ userData, System::Security::Cryptography::MemoryProtectionScope scope);
public static void Protect (byte[] userData, System.Security.Cryptography.MemoryProtectionScope scope);
static member Protect : byte[] * System.Security.Cryptography.MemoryProtectionScope -> unit
Public Shared Sub Protect (userData As Byte(), scope As MemoryProtectionScope)

Parametry

userData
Byte[]

Bajtové pole obsahující data v paměti k ochraně.The byte array containing data in memory to protect. Pole musí být násobkem 16 bajtů.The array must be a multiple of 16 bytes.

scope
MemoryProtectionScope MemoryProtectionScope MemoryProtectionScope MemoryProtectionScope

Jedna z hodnot výčtu, která určuje obor ochrana paměti.One of the enumeration values that specifies the scope of memory protection.

Výjimky

userData musí být 16 bajtů délku nebo násobkem 16 bajtů.userData must be 16 bytes in length or in multiples of 16 bytes.

Operační systém nepodporuje tuto metodu.The operating system does not support this method. Tuto metodu lze použít pouze s Windows 2000 nebo novější operační systémy.This method can be used only with the Windows 2000 or later operating systems.

Příklady

Následující příklad kódu ukazuje, jak používat ochranu dat.The following code example shows how to use data protection.

#using <System.Security.dll>

using namespace System;
using namespace System::Security::Cryptography;

int main()
{
   
   // Create the original data to be encrypted (The data length should be a multiple of 16).
   array<Byte>^secret = {1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4};
   
   // Encrypt the data in memory. The result is stored in the same array as the original data.
   ProtectedMemory::Protect( secret, MemoryProtectionScope::SameLogon );
   
   // Decrypt the data in memory and store in the original array.
   ProtectedMemory::Unprotect( secret, MemoryProtectionScope::SameLogon );
}
using System;
using System.Security.Cryptography;

public class MemoryProtectionSample
{

    public static void Main()
    {
        // Create the original data to be encrypted (The data length should be a multiple of 16).
        byte [] secret = { 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4 };

        // Encrypt the data in memory. The result is stored in the same array as the original data.
        ProtectedMemory.Protect( secret, MemoryProtectionScope.SameLogon );

        // Decrypt the data in memory and store in the original array.
        ProtectedMemory.Unprotect( secret, MemoryProtectionScope.SameLogon );
    }
}
Imports System
Imports System.Security.Cryptography

Public Class MemoryProtectionSample

    Public Shared Sub Main()
        ' Create the original data to be encrypted (The data length should be a multiple of 16).
        Dim secret As Byte() = {1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4}

        ' Encrypt the data in memory. The result is stored in the same array as the original data.
        ProtectedMemory.Protect(secret, MemoryProtectionScope.SameLogon)

        ' Decrypt the data in memory and store in the original array.
        ProtectedMemory.Unprotect(secret, MemoryProtectionScope.SameLogon)

    End Sub
End Class

Poznámky

Tuto metodu lze použít k ochraně dat v paměti.This method can be used to protect data in memory. Všimněte si, že metoda Nedovolte, aby byly kopie dat, ale zašifruje bajtového pole na místě.Note that the method does not make a copy of the data, but encrypts the byte array in place. userData Parametr musí být 16 bajtů délku nebo násobkem 16 bajtů.The userData parameter must be 16 bytes in length or a multiple of 16 bytes.

Podpora pro tuto metodu je dostupná ve Windows XP a novějších operačních systémech.Support for this method is available in the Windows XP and later operating systems.

Platí pro