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 Параметры 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, см. статью введение в членство перед продолжением. Список других разделов, связанных с членством, см. в разделе Управление пользователями с помощью членства.