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 Параметры 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 не являются безопасными. Очистка паролей не является безопасной и не должна использоваться. Они хранятся в виде обычного текста. Зашифрованные пароли не считаются безопасными, так как нарушение, которое показывает содержимое базы данных, также может предоставить ключ шифрования. Это означает, что зашифрованные пароли можно расшифровать и предоставить. Пароли шифруются при хранении и могут быть расшифрованы для сравнения паролей или получения пароля. Хэшированные пароли шифруются с помощью одностороннего хэша с Salt-кодом при хранении в базе данных. При проверке пароля он объединяется с расширяющим значением, а затем хэшируется. Результат сравнивается со значением в базе данных для проверки. Хэшированные пароли нельзя извлечь.

Примечание

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

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

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