Это указывается в конфигурации провайдера членства вашей веб-конфигурации с использованием add element :
<!-- SqlMembershipProvider syntax -->
<add name="string"
type="string"
connectionStringName="string"
applicationName="MyApplication"
commandTimeout
description
enablePasswordRetrieval="false"
enablePasswordReset="true"
passwordFormat="Hashed"
minRequiredPasswordLength
minRequiredNonalphanumericCharacters
passwordStrengthRegularExpression
/>
Алгоритм по умолчанию - SHA1, как определено в поставщике членства, но вы можете переопределить его, если хотите использовать атрибут hashAlgorithmType
:
<membership
defaultProvider="provider name"
userIsOnlineTimeWindow="number of minutes"
hashAlgorithmType="SHA1">
<providers>...</providers>
</membership>
Подробнее о предоставлении собственного алгоритма см. «Отображение имен алгоритмов в классы криптографии» .
Обратите внимание, что формат переопределяет такие вещи, как получение пароля - хэшированные пароли не могут быть восстановлены, и поставщик должен возвращать исключение, если для них при вызове пароля вызывается GetPassword (см. EnablePasswordRetrieval свойство) .
Если вы написали свой собственный MembershipProvider, я предлагаю вам взглянуть на «Как: Пример реализации поставщика членства» , особенно методы EncodePassword
и UnencodePassword
.