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


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

Определение

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

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

Поля

AES 3

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

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

Custom 7

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

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

HMACSHA256 4

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

HMACSHA384 5

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

HMACSHA512 6

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

MD5 0

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

SHA1 1

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

TripleDES 2

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

Примеры

В следующем примере кода показано, как использовать перечисление 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.

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

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