我的aspnet_Membership表中有一个SHA1密码和PasswordSalt。 但是,当我从服务器运行查询(一个Sql查询)时,读者会透露 该传递已作为其明文等效文件返回。
我想知道我的web.config配置是否导致了这个问题?
<membership defaultProvider="CustomMembershipProvider"
userIsOnlineTimeWindow="20"
hashAlgorithmType="SHA1">
<providers>
<clear/>
<add name="CustomMembershipProvider"
type="Custom.Utility.CustomMembershipProvider"
connectionStringName="MembershipDB"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresUniqueEmail="false"
requiresQuestionAndAnswer="false"
passwordStrengthRegularExpression=""
minRequiredPasswordLength="1"
minRequiredNonalphanumericCharacters="0"
passwordFormat="Hashed"
提前感谢...
答案 0 :(得分:1)
您已为会员提供商使用了正确的设置(特别是passwordFormat="hashed"
),但您也有此行:
type="Custom.Utility.CustomMembershipProvider"
设置passwordFormat="hashed"
仅告知您使用的想要密码的会员提供商。如果您使用自定义成员资格提供程序,则必须对该提供程序进行编码以遵守passwordFormat
设置。
我99%确定您的密码以明文形式存储的原因是因为这是CustomMembershipProvider
编程要执行的操作。
答案 1 :(得分:-3)
解密= “自动”
<machineKey validationKey="MY Validateion Key"
decryptionKey="My Decryption Key"
validation="SHA1" decryption="Auto" />