SqlMembershipProvider.PasswordFormat Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает значение, указывающее формат хранения паролей в базе данных членства SQL Server.
public:
virtual property System::Web::Security::MembershipPasswordFormat PasswordFormat { System::Web::Security::MembershipPasswordFormat get(); };
public override System.Web.Security.MembershipPasswordFormat PasswordFormat { get; }
member this.PasswordFormat : System.Web.Security.MembershipPasswordFormat
Public Overrides ReadOnly Property PasswordFormat As MembershipPasswordFormat
Значение свойства
Одно из значений MembershipPasswordFormat, указывающее формат хранения паролей в базе данных SQL Server.
Примеры
В следующем примере кода показан элемент членства в system.web
разделе файла Web.config для приложения ASP.NET. Он указывает экземпляр приложения SqlMembershipProvider и задает для него формат Hashed
пароля .
<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="20">
<providers>
<add name="SqlProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="SqlServices"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
passwordFormat="Hashed"
applicationName="MyApplication" />
</providers>
</membership>
Комментарии
Используйте Hashed
только и Encrypted
Clear
не являются безопасными.
Hashed
хэширования паролей используются односторонний хэш-алгоритм и случайно сформированное значение соли при хранении в базе данных. Когда пароль проверяется, он хэшируется с начальным значением из базы данных. Хэшированные пароли нельзя извлечь.
Encrypted
пароли не считаются безопасными, так как нарушение безопасности, показывающее содержимое базы данных, также может открыть ключ шифрования. Это означает, что зашифрованные пароли могут быть расшифрованы и предоставлены.
Значение PasswordFormat указывается в разделе providers файла Web.config для приложения ASP.NET.
Encrypted
Пароли и Hashed
шифруются или хэшируются по умолчанию на основе сведений, предоставленных в элементе machineKey в конфигурации. Обратите внимание, что если указать значение для атрибута 3DES
или значение не указано, хэшированные пароли будут хэшироваться с помощью алгоритма SHA1 .validation
Настраиваемый хэш-алгоритм можно определить с помощью hashAlgorithmType
атрибута элемента конфигурации membership Element (ASP.NET Settings Schema). Если выбрано шифрование, шифрование паролей по умолчанию использует AES. Вы можете изменить алгоритм шифрования, задав decryption
атрибут элемента конфигурации machineKey . При шифровании паролей необходимо указать явное значение атрибута decryptionKey
в элементе machineKey . Значение AutoGenerate
по умолчанию атрибута decryptionKey
не поддерживается при использовании зашифрованных паролей с ASP.NET членства.
Из-за проблем с SHA1 корпорация Майкрософт рекомендует использовать модель безопасности на основе SHA256 или более высокого уровня.