ProtectedMemory.Unprotect(Byte[], MemoryProtectionScope) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Membatalkan perlindungan data dalam memori yang dilindungi menggunakan metode .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)
Parameter
- encryptedData
- Byte[]
Array byte dalam memori untuk tidak terenkripsi.
- scope
- MemoryProtectionScope
Salah satu nilai enumerasi yang menentukan cakupan perlindungan memori.
Pengecualian
Sistem operasi tidak mendukung metode ini. Metode ini hanya dapat digunakan dengan sistem operasi Windows 2000 atau yang lebih baru.
encryptedData
adalah null
.
encryptedData
kosong.
-atau-
Panggilan ini tidak diimplementasikan.
-atau-
NTSTATUS berisi kesalahan.
Contoh
Contoh berikut menunjukkan cara menggunakan perlindungan data.
#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
Keterangan
Metode ini dapat digunakan untuk tidak mendekripsi data dalam memori yang dienkripsi menggunakan Protect metode .
Dukungan untuk metode ini tersedia di Windows XP dan sistem operasi yang lebih baru.