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

Definição

Desprotege os dados na memória que foram protegidos usando o método Protect(Byte[], MemoryProtectionScope).Unprotects data in memory that was protected using the Protect(Byte[], MemoryProtectionScope) method.

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)

Parâmetros

encryptedData
Byte[]

A matriz de bytes na memória a descriptografar.The byte array in memory to unencrypt.

scope
MemoryProtectionScope

Um dos valores de enumeração que especificam o escopo da proteção da memória.One of the enumeration values that specifies the scope of memory protection.

Exceções

O sistema operacional não é compatível com esse método.The operating system does not support this method. Esse método pode ser usado apenas com o Windows 2000 ou sistemas operacionais posteriores.This method can be used only with the Windows 2000 or later operating systems.

encryptedData é null.encryptedData is null.

encryptedData está vazio.encryptedData is empty.

- ou --or- Essa chamada não foi implementada.This call was not implemented.

- ou --or- NTSTATUS contém um erro.NTSTATUS contains an error.

Exemplos

O exemplo a seguir mostra como usar a proteção de dados.The following 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.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

Comentários

Esse método pode ser usado para descriptografar dados na memória que foi criptografada usando o Protect método.This method can be used to unencrypt data in memory that was encrypted using the Protect method.

O suporte para esse método está disponível nos sistemas operacionais Windows XP e posteriores.Support for this method is available in the Windows XP and later operating systems.

Aplica-se a