DataProtector.GetHashedPurpose Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Cria um hash dos valores das propriedades especificados pelo construtor.
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()
Devoluções
Um array de bytes que contêm o hash das ApplicationNamepropriedades , PrimaryPurpose, e SpecificPurposes .
Exemplos
O exemplo seguinte mostra como usar o GetHashedPurpose método para fazer hash das propriedades de propósito para uso como entropia extra. Faz parte de um exemplo de código maior para a DataProtector classe.
// 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
Observações
GetHashedPurpose calcula o hash do nome da aplicação e o propósito completo. O propósito completo é a concatenação de todas as PrimaryPurpose propriedades e (e SpecificPurposes ). Cada uma das três partes é precedida com o seu comprimento para que o hash possa ser invertido.