ProtectedMemory.Protect(Byte[], MemoryProtectionScope) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Schützt die angegebenen Daten.
public:
static void Protect(cli::array <System::Byte> ^ userData, System::Security::Cryptography::MemoryProtectionScope scope);
public static void Protect (byte[] userData, System.Security.Cryptography.MemoryProtectionScope scope);
static member Protect : byte[] * System.Security.Cryptography.MemoryProtectionScope -> unit
Public Shared Sub Protect (userData As Byte(), scope As MemoryProtectionScope)
Parameter
- userData
- Byte[]
Das Bytearray, das zu schützende Daten im Arbeitsspeicher enthält. Das Array muss ein Vielfaches von 16 Bytes sein.
- scope
- MemoryProtectionScope
Einer der Enumerationswerte, der den Bereich des Speicherschutzes angibt.
Ausnahmen
userData
muss eine Länge von 16 Bytes aufweisen oder ein Vielfaches von 16 Bytes betragen.
Dieses Methode wird vom Betriebssystem nicht unterstützt. Diese Methode kann nur mit dem Betriebssystem Windows 2000 oder höher verwendet werden.
userData
ist null
.
Beispiele
Im folgenden Codebeispiel wird die Verwendung des Datenschutzes veranschaulicht.
#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
Hinweise
Diese Methode kann verwendet werden, um Daten im Arbeitsspeicher zu schützen. Beachten Sie, dass die -Methode keine Kopie der Daten erstellt, sondern das Bytearray verschlüsselt. Der userData
Parameter muss 16 Bytes lang oder ein Vielfaches von 16 Bytes sein.
Unterstützung für diese Methode ist in den Betriebssystemen Windows XP und höher verfügbar.