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.