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


MachineKeyValidation Перечисление

Определение

Задает алгоритм хэширования, который ASP.NET используется для проверки подлинности форм и проверки данных состояния просмотра, а также для идентификации состояния сеанса вне процесса.

public enum class MachineKeyValidation
public enum MachineKeyValidation
type MachineKeyValidation = 
Public Enum MachineKeyValidation
Наследование
MachineKeyValidation

Поля

Имя Значение Описание
MD5 0

Указывает, что ASP.NET использует алгоритм хэширования сообщений 5 () хэшированияMD5, который является хэш-алгоритмом, который создает 128-разрядное хэш-значение. Это устаревшее значение, которое следует выбрать только в том случае, если требуется совместимость с более ранними версиями ASP.NET.

SHA1 1

Указывает, что ASP.NET использует HMACSHA1 хэш-алгоритм, который является хэш-алгоритмом, который создает 160-разрядное хэш-значение. Это устаревшее значение, которое следует выбрать только в том случае, если требуется совместимость с более ранними версиями ASP.NET.

TripleDES 2

Указывает, что ASP.NET использует алгоритм шифрования TripleDES (3DES) — алгоритм шифрования, который используется только в том случае, если указано, что состояние представления зашифровано. Это устаревшее значение, которое следует выбрать только в том случае, если требуется совместимость с более ранними версиями ASP.NET.

AES 3

Указывает, что ASP.NET использует AES алгоритм шифрования. Выберите этот параметр, если вы хотите зашифровать состояние представления в веб-приложении.

Если выбрать этот параметр, DecryptionKey свойство будет использоваться для шифрования и расшифровки, а HMACSHA1 хэш-алгоритм будет использоваться со свойством ValidationKey для проверки.

HMACSHA256 4

Указывает, что ASP.NET использует HMACSHA256 алгоритм хэширования, который является алгоритмом хэширования SHA2, который создает 256-разрядный хэш-код. Это значение по умолчанию.

HMACSHA384 5

Указывает, что ASP.NET использует HMACSHA384 алгоритм хэширования, который является алгоритмом хэширования SHA2, который создает 384-разрядный хэш-код. Этот параметр доступен для приложений, которым требуется более надежная безопасность, чем предоставляется алгоритмом HMACSHA256 .

HMACSHA512 6

Указывает, что ASP.NET использует HMACSHA512 хэш-алгоритм, который является алгоритмом хэширования SHA2, который создает 512-разрядный хэш-код. Этот параметр доступен для приложений, которым требуется более надежная безопасность, чем предоставляется алгоритмом >HMACSHA384 .

Custom 7

Указывает, что ASP.NET использует пользовательский алгоритм хэширования. Пользовательский алгоритм хэширования можно реализовать в любом классе, наследуемом от KeyedHashAlgorithm.

Настраиваемый алгоритм обычно указывается декларативно в validation атрибуте элемента machineKey в формате alg:`*algorithm_name*. Сведения о том, как указать пользовательский алгоритм в коде, см. в свойстве ValidationAlgorithm .

Примеры

В следующем примере кода показано, как использовать перечисление MachineKeyValidation . В этом примере configSection используется экземпляр MachineKeySection. Этот пример кода является частью более крупного примера, предоставленного для MachineKeySection класса.

// Set Validation property.
configSection.Validation = MachineKeyValidation.HMACSHA256;
' Set Validation value.
configSection.Validation = MachineKeyValidation.HMACSHA256

Комментарии

ASP.NET использует код проверки подлинности на основе хэша сообщений (HMAC), чтобы определить, были ли данные, используемые для проверки подлинности форм или состояния просмотра. HMAC создается при создании содержимого состояния просмотра, а HMAC проверяется на последующих запросах. HMAC помогает ASP.NET определить, были ли изменены данные, отправляемые между сервером и клиентом, но данные можно считывать любым пользователем по мере того, как он перемещается через Интернет, если он также не зашифрован. По умолчанию состояние представления проверяется, но не шифруется. Дополнительные сведения см. в разделах ViewStateEncryptionMode и RegisterRequiresViewStateEncryption.

Перечисление MachineKeyValidation позволяет указать алгоритм, который ASP.NET используется для создания HMAC. Значение по умолчанию — HMACSHA256. ASP.NET использует значение ValidationKey свойства с выбранным алгоритмом для создания HMAC.

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

См. также раздел