Partager via


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

Définition

Déprotège les données en mémoire qui étaient protégées à l'aide de la méthode Protect(Byte[], MemoryProtectionScope).

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)

Paramètres

encryptedData
Byte[]

Le tableau d'octets en mémoire à déchiffrer.

scope
MemoryProtectionScope

Une des valeurs d'énumération qui spécifie la portée de la protection de la mémoire.

Exceptions

Le système d'exploitation ne prend pas en charge cette méthode. Cette méthode peut être utilisée uniquement avec le système d'exploitation Windows 2000 ou version ultérieure

encryptedData a la valeur null.

encryptedData est vide.

- ou -

Cet appel n'a pas été implémenté.

- ou -

NTSTATUS contient une erreur.

Exemples

L’exemple suivant montre comment utiliser la protection des données.

#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

Remarques

Cette méthode peut être utilisée pour annuler le chiffrement des données en mémoire chiffrées à l’aide de la Protect méthode .

La prise en charge de cette méthode est disponible dans les systèmes d’exploitation Windows XP et ultérieurs.

S’applique à