我使用以下 Membership.ValidateUser 方法验证用户使用 SHA-1 哈希密码,但它始终返回false
。
如果我输入一个非散列密码,换句话说,是普通密码,那么它会返回true
。我不知道我做错了什么。
代码实施
var isAuthenticated = Membership.ValidateUser(username, userpassword);
的Web.Config
<membership defaultProvider="ASPMembershipProvider" hashAlgorithmType="SHA1">
<providers>
<clear/>
<add name="ASPMembershipProvider"
applicationName="ASPMember"
connectionStringName="ASPConnectionString"
type="System.Web.Security.SqlMembershipProvider"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
requiresUniqueEmail="false"
maxInvalidPasswordAttempts="5"
passwordAttemptWindow="25"
minRequiredPasswordLength="5"
minRequiredNonalphanumericCharacters="0"
passwordStrengthRegularExpression=""
passwordFormat="Hashed" />
</providers>
</membership>