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


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

Определение

Описывает формат шифрования для хранения паролей авторизованных пользователей.

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

Поля

Clear 0

Опасно, не использовать. Пароли не шифруются.

Encrypted 2

Опасно, не использовать. Пароли шифруются с помощью параметров шифрования, определенных конфигурацией элемента machineKey.

Hashed 1

Пароли шифруются однонаправленно с использованием алгоритма хэширования SHA1. Вы можете указать алгоритм хэширования, отличный от алгоритма SHA1, с помощью атрибута hashAlgorithmType.

Из-за конфликта с SHA1 корпорация Майкрософт рекомендует использовать SHA256.

Примеры

В следующем примере показан элемент machineKey (ASP.NET Settings Schema) в system.web разделе файла Web.config для ASP.NET приложения. Он указывает экземпляр приложения SqlMembershipProvider и задает для него формат Hashedпароля .

В этом примере используется SHA1. Из-за конфликта с SHA1 корпорация Майкрософт рекомендует использовать SHA256.

<membership defaultProvider="SqlProvider"   
  userIsOnlineTimeWindow="20" hashAlgorithmType="SHA1">  
  <providers>  
    <add name="SqlProvider"  
      type="System.Web.Security.SqlMembershipProvider"  
      connectionStringName="SqlServices"  
      enablePasswordRetrieval="false"  
      enablePasswordReset="true"  
      requiresQuestionAndAnswer="true"  
      passwordFormat="Hashed"  
      applicationName="MyApplication" />  
  </providers>  
</membership>  

Комментарии

Класс SqlMembershipProvider поддерживает различные форматы хранения паролей, но следует использовать Hashedтолько ; Clear и Encrypted не являются безопасными. Чистые пароли не являются безопасными и не должны использоваться. Они хранятся в виде обычного текста. Зашифрованные пароли не считаются безопасными, так как бреши, которые показывают, что содержимое базы данных также может раскрыть ключ шифрования. Это означает, что зашифрованные пароли можно расшифровать и предоставить. Пароли шифруются при хранении и могут быть расшифрованы для сравнения паролей или извлечения паролей. Хэшированные пароли при хранении в базе данных шифруются с помощью односторонного соленого хэша. При проверке пароля он объединяется со значением соли, а затем хэшируется. Результат сравнивается со значением в базе данных для проверки. Хэшированные пароли нельзя извлечь.

Примечание

Если вы не знакомы с функциями членства в ASP.NET, см. статью Общие сведения о членстве , прежде чем продолжить. Список других разделов, связанных с членством, см. в разделе Управление пользователями с помощью членства.

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

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