Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen.
Übersetzung
Original
2 von 2 fanden dies hilfreich - Dieses Thema bewerten.

ProtectedData.Protect-Methode

Verschlüsselt die Daten in einem angegebenen Bytearray und gibt ein Bytearray zurück, das die verschlüsselten Daten enthält.

Namespace:  System.Security.Cryptography
Assembly:  System.Security (in System.Security.dll)
public static byte[] Protect(
	byte[] userData,
	byte[] optionalEntropy,
	DataProtectionScope scope
)

Parameter

userData
Typ: System.Byte[]
Ein Bytearray, das die zu verschlüsselnden Daten enthält.
optionalEntropy
Typ: System.Byte[]
Ein optionales zusätzliches Bytearray, das verwendet wurde, um die Komplexität der Verschlüsselung zu vergrößern, oder null für keine zusätzliche Komplexität.
scope
Typ: System.Security.Cryptography.DataProtectionScope
Einer der Enumerationswerte, der den Bereich der Verschlüsselung angibt.

Rückgabewert

Typ: System.Byte[]
Ein Bytearray, das die verschlüsselten Daten darstellt.
Ausnahme Bedingung
ArgumentNullException

Der userData-Parameter ist null.

CryptographicException

Die Verschlüsselung ist fehlgeschlagen.

NotSupportedException

Dieses Methode wird vom Betriebssystem nicht unterstützt.

OutOfMemoryException

Es steht nicht genügend Arbeitsspeicher zum Verschlüsseln der Daten zur Verfügung.

Diese Methode kann zum Verschlüsseln von Daten, z. B. Kennwörtern, Schlüsseln oder Verbindungszeichenfolgen, verwendet werden. Der optionalEntropy-Parameter ermöglicht es Ihnen, Daten hinzuzufügen, um die Komplexität der Verschlüsselung zu vergrößern; geben Sie null für keine zusätzliche Komplexität an. Falls bereitgestellt, müssen diese Informationen auch beim Entschlüsseln der Daten mithilfe der Unprotect-Methode verwendet werden.

Hinweis Hinweis

Wenn Sie die Methode im Rahmen des Identitätswechsels verwenden, wird möglicherweise folgende Fehlermeldung angezeigt: "Ungültiger Schlüssel für angegebenen Status". Um diesen Fehler zu verhindern, laden Sie das Profil des Benutzers, den Sie imitieren möchten, bevor Sie die Methode aufrufen.

Im folgenden Beispiel wird die Verwendung des Datenschutzes veranschaulicht.


using System;
using System.Security.Cryptography;

public class DataProtectionSample
{
// Create byte array for additional entropy when using Protect method.
	static byte [] s_aditionalEntropy = { 9, 8, 7, 6, 5 };

	public static void Main()
	{
// Create a simple byte array containing data to be encrypted.
		
byte [] secret = { 0, 1, 2, 3, 4, 1, 2, 3, 4 };

//Encrypt the data.
		byte [] encryptedSecret = Protect( secret );
		Console.WriteLine("The encrypted byte array is:");
		PrintValues(encryptedSecret);
		
// Decrypt the data and store in a byte array.
		byte [] originalData = Unprotect( encryptedSecret );
		Console.WriteLine("{0}The original data is:", Environment.NewLine);
		PrintValues(originalData);

	}

	public static byte [] Protect( byte [] data )
	{
		try
		{
			// Encrypt the data using DataProtectionScope.CurrentUser. The result can be decrypted
			//  only by the same current user.
			return ProtectedData.Protect( data, s_aditionalEntropy, DataProtectionScope.CurrentUser );
		} 
		catch (CryptographicException e)
		{
			Console.WriteLine("Data was not encrypted. An error occurred.");
			Console.WriteLine(e.ToString());
			return null;
		}
	}

	public static byte [] Unprotect( byte [] data )
	{
		try
		{
			//Decrypt the data using DataProtectionScope.CurrentUser.
			return ProtectedData.Unprotect( data, s_aditionalEntropy, DataProtectionScope.CurrentUser );
		} 
		catch (CryptographicException e)
		{
			Console.WriteLine("Data was not decrypted. An error occurred.");
			Console.WriteLine(e.ToString());
			return null;
		}
	}

	public static void PrintValues( Byte[] myArr )  
	{
	      foreach ( Byte i in myArr )  
		  	{
		         Console.Write( "\t{0}", i );
			 }
      Console.WriteLine();
	 }

}


.NET Framework

Unterstützt in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Community-Inhalt Hinzufügen
Anmerkungen FAQ