ProtectedMemory.Unprotect(Byte[], MemoryProtectionScope) Methode

Definitie

Hiermee maakt u de beveiliging van gegevens in het geheugen op die zijn beveiligd met behulp van de Protect(Byte[], MemoryProtectionScope) methode.

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

Parameters

encryptedData
Byte[]

De bytematrix in het geheugen om ontsleuteling ongedaan te maken.

scope
MemoryProtectionScope

Een van de opsommingswaarden die het bereik van geheugenbeveiliging aangeeft.

Uitzonderingen

Het besturingssysteem biedt geen ondersteuning voor deze methode. Deze methode kan alleen worden gebruikt met de besturingssystemen Windows 2000 of hoger.

encryptedData is null.

encryptedData is leeg.

– of –

Deze aanroep is niet geïmplementeerd.

– of –

NTSTATUS bevat een fout.

Voorbeelden

In het volgende voorbeeld ziet u hoe u gegevensbeveiliging gebruikt.

#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.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

Opmerkingen

Deze methode kan worden gebruikt om gegevens in het geheugen te ontsleutelen die zijn versleuteld met behulp van de Protect methode.

Ondersteuning voor deze methode is beschikbaar in de Windows XP en latere besturingssystemen.

Van toepassing op