Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen.
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

DataProtectionScope-Enumeration

Gibt den Datenschutzbereich an, der von der Protect-Methode angewendet werden soll.

Namespace:  System.Security.Cryptography
Assembly:  System.Security (in System.Security.dll)
public enum DataProtectionScope
Membername Beschreibung
CurrentUser Die geschützten Daten werden dem aktuellen Benutzer zugeordnet. Der Datenschutz kann nur durch Threads, die im Kontext des aktuellen Benutzers ausgeführt werden, aufgehoben werden.
LocalMachine Die geschützten Daten werden dem Computerkontext zugeordnet. Der Datenschutz kann von jedem Prozess, der auf dem Computer ausgeführt wird, aufgehoben werden. Dieser Enumerationswert wird i. d. R. für serverspezifische Anwendungen verwendet, die auf Servern ausgeführt werden, auf die nicht vertrauenswürdige Benutzer keinen Zugriff haben.

Diese Enumeration wird mit der Protect-Methode und der Unprotect-Methode verwendet, um Daten durch Verschlüsselung zu schützen.

Warnung:   Der LocalMachine-Enumerationswert lässt mehrere Konten zu, um den Schutz der Daten aufzuheben. Verwenden Sie diesen Wert nur, wenn Sie allen Konten auf einem Computer vertrauen. In den meisten Fällen sollten Sie den CurrentUser-Wert verwenden.

Im folgenden Codebeispiel 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