Ответ 1
machineKey
находится под знаком System.web
в web.config
Обратитесь ссылка MSDN для схемы web.config.
Если вы не видите его в своем web.config, вы можете просто добавить его там.
От MSDN снова: -)
Чтобы обеспечить защиту от несанкционированного доступа ViewState, из содержимого ViewState генерируется хешированный код аутентификации сообщений (HMAC), а хеш сравнивается с последующими запросами. Атрибут validation указывает, какой алгоритм хеширования следует использовать, и по умолчанию он соответствует SHA1, который использует алгоритм HMACSHA1. Допустимые варианты хеширования включают SHA1 или MD5, хотя SHA1 предпочтительнее, потому что он создает больший хеш и считается криптографически более сильным, чем MD5. Атрибут validationKey используется вместе с контентом ViewState для создания HMAC. Если ваше приложение установлено в веб-ферме, вам необходимо изменить validationKey из AutoGenerate, IsolateApps на определенное вручную значение ключа.
Настройки по умолчанию для элементов <pages>
и <machineKey>
определены в файле web.config.comments на уровне машины.
Для machineKey они
<machineKey validationKey="AutoGenerate,IsolateApps"
decryptionKey="AutoGenerate,IsolateApps"
validation="SHA1" decryption="Auto" />
ИЗМЕНИТЬ: Для .NET 4.0 алгоритм по умолчанию был изменен до SHA256 Я думаю, что самый простой способ найти значения по умолчанию - увидеть запись в MSDN для этого значения конфигурации.
MSDN 4.0 для машинного ключа приведен ниже. Выбранные значения являются значениями по умолчанию. Значения в [] - это другие необязательные значения, которые может принимать поле. Я помню, что где-то читал, что это типичный способ в MSDN обозначать значения по умолчанию для значений конфигурации.
<machineKey
validationKey="AutoGenerate,IsolateApps" [String]
decryptionKey="AutoGenerate,IsolateApps" [String]
validation="HMACSHA256" [SHA1 | MD5 | 3DES | AES | HMACSHA256 |
HMACSHA384 | HMACSHA512 | alg:algorithm_name]
decryption="Auto" [Auto | DES | 3DES | AES | alg:algorithm_name]
/>