MembershipPasswordFormat Перечисление
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Описывает формат шифрования для хранения паролей авторизованных пользователей.
public enum class MembershipPasswordFormat
public enum MembershipPasswordFormat
type MembershipPasswordFormat =
Public Enum MembershipPasswordFormat
- Наследование
Поля
Clear | 0 | Опасно, не использовать. Пароли не шифруются. |
Encrypted | 2 | Опасно, не использовать. Пароли шифруются с помощью параметров шифрования, определенных конфигурацией элемента machineKey. |
Hashed | 1 | Пароли шифруются однонаправленно с использованием алгоритма хэширования SHA1. Вы можете указать алгоритм хэширования, отличный от алгоритма SHA1, с помощью атрибута Из-за конфликта с 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, см. статью Общие сведения о членстве , прежде чем продолжить. Список других разделов, связанных с членством, см. в разделе Управление пользователями с помощью членства.