DataProtector.GetHashedPurpose Methode

Definition

Erstellt einen Hash der vom Konstruktor angegebenen Eigenschaftswerte.

protected:
 virtual cli::array <System::Byte> ^ GetHashedPurpose();
protected virtual byte[] GetHashedPurpose();
abstract member GetHashedPurpose : unit -> byte[]
override this.GetHashedPurpose : unit -> byte[]
Protected Overridable Function GetHashedPurpose () As Byte()

Gibt zurück

Byte[]

Ein Array von Bytes, die den Hash der ApplicationName, PrimaryPurposeund SpecificPurposes Eigenschaften enthalten.

Beispiele

Das folgende Beispiel zeigt, wie die Methode zum Hashen der GetHashedPurpose Zweckeigenschaften als zusätzliche Entropie verwendet wird. Sie ist Teil eines größeren Codebeispiels für die DataProtector Klasse.

// To allow a service to hand out instances of a DataProtector we demand unrestricted DataProtectionPermission
// in the constructor, but Assert the permission when ProviderProtect is called.  This is similar to FileStream
// where access is checked at time of creation, not time of use.
[SecuritySafeCritical]
[DataProtectionPermission(SecurityAction.Assert, ProtectData = true)]
protected override byte[] ProviderProtect(byte[] userData)
{
    // Delegate to ProtectedData
    return ProtectedData.Protect(userData, GetHashedPurpose(), Scope);
}
' To allow a service to hand out instances of a DataProtector we demand unrestricted DataProtectionPermission 
' in the constructor, but Assert the permission when ProviderProtect is called.  This is similar to FileStream
' where access is checked at time of creation, not time of use.
<SecuritySafeCritical(), DataProtectionPermission(SecurityAction.Assert, ProtectData:=True)> _
Protected Overrides Function ProviderProtect(ByVal userData() As Byte) As Byte()
    ' Delegate to ProtectedData
    Return ProtectedData.Protect(userData, GetHashedPurpose(), Scope)

End Function 'ProviderProtect

Hinweise

GetHashedPurpose berechnet den Hash des Anwendungsnamens und den vollständigen Zweck. Der vollständige Zweck ist eine Verkettung aller und PrimaryPurpose EigenschaftenSpecificPurposes. Jeder der drei Teile wird mit seiner Länge vorgestellt, sodass der Hash umgekehrt werden kann.

Gilt für: