Прочитать на английском

Поделиться через


DataProtector.GetHashedPurpose Метод

Определение

Создает хэш значений свойств, определяемых конструктором.

C#
protected virtual byte[] GetHashedPurpose();

Возвращаемое значение

Byte[]

Массив байтов, содержащий хэш свойств ApplicationName, PrimaryPurpose и SpecificPurposes.

Примеры

В следующем примере показано, как использовать GetHashedPurpose метод для хэширования свойств назначения для использования в качестве дополнительной энтропии. Он является частью более крупного примера кода для DataProtector класса .

C#
// 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);
}

Комментарии

GetHashedPurpose вычисляет хэш имени приложения и полное назначение. Полное назначение — объединение всех PrimaryPurpose свойств и SpecificPurposes . Каждая из трех частей предваряется своей длиной, чтобы хэш можно было обратить вспять.

Применяется к

Продукт Версии
.NET Framework 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1