ProtectedMemory.Unprotect(Byte[], MemoryProtectionScope) Método

Definición

Desprotege los datos de la memoria que se protegieron utilizando el método Protect(Byte[], MemoryProtectionScope).

C#
public static void Unprotect(byte[] encryptedData, System.Security.Cryptography.MemoryProtectionScope scope);

Parámetros

encryptedData
Byte[]

La matriz de bytes de la memoria que se va a desproteger.

scope
MemoryProtectionScope

Uno de los valores de enumeración que especifica el ámbito de la protección de memoria.

Excepciones

El sistema operativo no admite este método. Este método sólo se puede utilizar con Windows 2000 o sistemas operativos posteriores.

encryptedData es null.

encryptedData está vacía.

o bien

No se implementó esta llamada.

o bien

NTSTATUS contiene un error.

Ejemplos

En el ejemplo siguiente se muestra cómo usar la protección de datos.

C#
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 );
    }
}

Comentarios

Este método se puede usar para anular el cifrado de datos en la memoria que se cifró mediante el Protect método .

La compatibilidad con este método está disponible en los sistemas operativos Windows XP y versiones posteriores.

Se aplica a

Producto Versiones
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1