Ответ 1
Элементы управления на странице могут запрашивать, чтобы шифрование использовалось для ViewState, но даже этот запрос может быть переопределен настройкой страницы.
Перечисление ViewStateEncryptionMode имеет три значения: Авто, Всегда и Никогда. Значение по умолчанию - "Авто".
ViewStateEncryptionMode.Auto
В этом режиме ASP.NET будет шифровать ViewState для страницы, если какой-либо элемент управления на странице запрашивает его. Обратите внимание, что это означает, что все ViewState зашифровано, а не только ViewState для элемента управления, который его запрашивает. Большая часть затрат на производительность, связанных с шифрованием, связана с накладными расходами. Таким образом, шифрование всего ViewState происходит быстрее, чем выполнение отдельных операций шифрования, если более чем один элемент управления делает запрос.
ViewStateEncryptionMode.Never
Как и следовало ожидать, в этом режиме ASP.NET не будет шифровать ViewState, даже если приложение настроено для шифрования, а элементы управления на странице запросили его. Если вы знаете, что данные, связанные с страницей, не должны быть зашифрованы, тогда может быть безопасно установить режим "Никогда". Однако на данный момент редко бывает, что документация об элементе управления раскрывает, что сохраняется в ViewState, поэтому вам нужно быть осторожным, если есть вероятность того, что конфиденциальные данные могут быть обнаружены.
ViewStateEncryptionMode.Always
В этом режиме ASP.NET не ждет, чтобы элемент управления на странице запрашивал шифрование. ViewState всегда зашифрована. При работе с конфиденциальными данными рекомендуется использовать шифрование.
Источник: http://msdn.microsoft.com/en-us/library/aa479501.aspx