MachineKeyValidation MachineKeyValidation MachineKeyValidation MachineKeyValidation Enum

Определение

Задает алгоритм хэширования, который используется в ASP.NET для проверки подлинности форм и проверки данных состояния просмотра, а также для идентификации состояния сеанса вне процесса.Specifies the hashing algorithm that ASP.NET uses for forms authentication and for validating view state data, and for out-of-process session state identification.

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

Поля

AES AES AES AES 3

Указывает, что ASP.NET использует алгоритм шифрования AES (Rijndael).Specifies that ASP.NET uses the AES (Rijndael) encryption algorithm. Выберите этот параметр, если хотите зашифровать состояние просмотра в веб-приложении.Choose this option if you want to encrypt view state in your Web application.

Если выбран этот параметр, свойство DecryptionKey будет использоваться для шифрования и расшифровки, а хэш-алгоритм HMACSHA1 будет использоваться со свойством ValidationKeyдля проверки.If you choose this option, the DecryptionKey property will be used for encryption and decryption, and the HMACSHA1 hash algorithm will be used with the ValidationKey property for validation.

Custom Custom Custom Custom 7

Указывает, что в ASP.NET используется пользовательский алгоритм хэширования.Specifies that ASP.NET uses a custom hashing algorithm. Пользовательский алгоритм хэширования можно реализовать в любом классе, производном от KeyedHashAlgorithm.The custom hashing algorithm can be implemented in any class that derives from KeyedHashAlgorithm.

Пользовательский алгоритм обычно задается декларативно в атрибуте validation элемента machineKey в формате alg:\`*algorithm_name*.The custom algorithm is typically specified declaratively in the validation attribute of the machineKey element, in the format alg:\`*algorithm_name*. Сведения о том, как указать пользовательский алгоритм в коде, см. в разделе о свойстве ValidationAlgorithm.For information about how to specify a custom algorithm in code, see the ValidationAlgorithm property.

HMACSHA256 HMACSHA256 HMACSHA256 HMACSHA256 4

Указывает, что ASP.NET использует алгоритм хэширования HMACSHA256, который является алгоритмом хэширования SHA2, создающим 256-разрядный хэш-код.Specifies that ASP.NET uses the HMACSHA256 hashing algorithm, which is an SHA2 hashing algorithm that generates a 256-bit hash code. Это значение по умолчанию.This is the default value.

HMACSHA384 HMACSHA384 HMACSHA384 HMACSHA384 5

Указывает, что ASP.NET использует алгоритм хэширования HMACSHA384, который является алгоритмом хэширования SHA2, создающим 384-разрядный хэш-код.Specifies that ASP.NET uses the HMACSHA384 hashing algorithm, which is an SHA2 hashing algorithm that generates a 384-bit hash code. Этот параметр доступен для приложений, требующих более высокий уровень безопасности, чем предоставляет алгоритм HMACSHA256.This option is available for applications that require stronger security than provided by the HMACSHA256 algorithm..

HMACSHA512 HMACSHA512 HMACSHA512 HMACSHA512 6

Указывает, что ASP.NET использует алгоритм хэширования HMACSHA512, который является алгоритмом хэширования SHA2, создающим 512-разрядный хэш-код.Specifies that ASP.NET uses the HMACSHA512 hashing algorithm, which is an SHA2 hashing algorithm that generates a 512-bit hash code. Этот параметр доступен для приложений, требующих более высокий уровень безопасности, чем предоставляет алгоритм >HMACSHA384.This option is available for applications that require stronger security than provided by the >HMACSHA384 algorithm.

MD5 MD5 MD5 MD5 0

Указывает, что ASP.NET использует алгоритм хэширования Message Digest 5 (MD5), который является алгоритмом хэширования, создающим 128-разрядное хэш-значение.Specifies that ASP.NET uses the Message Digest 5 (MD5) hashing algorithm, which is a hashing algorithm that generates a 128-bit hash value. Это устаревшее значение, которое следует устанавливать только в случаях, когда требуется совместимость с более ранними версиями ASP.NET.This is a legacy value that should be selected only if compatibility with earlier versions of ASP.NET is required.

SHA1 SHA1 SHA1 SHA1 1

Указывает, что ASP.NET использует алгоритм хэширования HMACSHA1, который является алгоритмом хэширования, создающим 160-разрядное хэш-значение.Specifies that ASP.NET uses the HMACSHA1 hash algorithm, which is a hashing algorithm that generates a 160-bit hash value. Это устаревшее значение, которое следует устанавливать только в случаях, когда требуется совместимость с более ранними версиями ASP.NET.This is a legacy value that should be selected only if compatibility with earlier versions of ASP.NET is required.

TripleDES TripleDES TripleDES TripleDES 2

Указывает, что ASP.NET использует алгоритм шифрования TripleDES (3DES), который является алгоритмом шифрования, используемым только в том случае, если вы указываете, что состояние просмотра зашифровано.Specifies that ASP.NET uses the TripleDES (3DES) encryption algorithm, which is an encryption algorithm that is used only if you specify that view state is encrypted. Это устаревшее значение, которое следует устанавливать, только если требуется совместимость с более ранними версиями ASP.NET.This is a legacy value that should be selected only if compatibility with earlier versions of ASP.NET is required..

Примеры

В следующем примере кода показано, MachineKeyValidation как использовать перечисление.The following code example shows how to use the MachineKeyValidation enumeration. В примере configSection является MachineKeySectionэкземпляром. Этот пример кода является частью большого примера, MachineKeySection приведенного для класса.In the example, configSection is an instance of MachineKeySection.This code example is part of a larger example provided for the MachineKeySection class.

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

Комментарии

ASP.NET использует код проверки подлинности сообщения на основе хэша (HMAC), чтобы определить, были ли данные, используемые для проверки подлинности форм или состояния представления, были изменены.ASP.NET uses a hash-based message authentication code (HMAC) to help detect whether data that is used for forms authentication or view state has been tampered with. Код HMAC создается при создании содержимого состояния представления, а код HMAC проверяется в последующих запросах.The HMAC is generated when view state content is created, and the HMAC is checked on subsequent requests. HMAC помогает ASP.NET определить, изменил ли кто-либо данные, передаваемые между сервером и клиентом, но данные могут быть прочитаны любым лицом, когда он проходит через Интернет, если он не зашифрован.The HMAC helps ASP.NET determine whether someone has changed data that is sent between the server and the client, but the data can be read by anyone as it travels through the Internet unless it is also encrypted. По умолчанию состояние представления проверяется, но не шифруется.By default, view state is validated but not encrypted. Дополнительные сведения см. в разделах ViewStateEncryptionMode и RegisterRequiresViewStateEncryption.For more information, see ViewStateEncryptionMode and RegisterRequiresViewStateEncryption.

MachineKeyValidation Перечисление позволяет указать алгоритм, который ASP.NET использует для создания HMAC.The MachineKeyValidation enumeration lets you specify the algorithm that ASP.NET uses to create the HMAC. Значение по умолчанию — HMACSHA256.The default value is HMACSHA256. ASP.NET использует значение ValidationKey свойства с выбранным алгоритмом для создания HMAC.ASP.NET uses the value of the ValidationKey property with the selected algorithm to generate the HMAC.

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

Дополнительно