数据库查询后,SHA1密码以明文形式返回

时间:2010-04-07 03:56:14

标签: sql passwords sha1 salt

我的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"

提前感谢...

2 个答案:

答案 0 :(得分:1)

您已为会员提供商使用了正确的设置(特别是passwordFormat="hashed"),但您也有此行:

type="Custom.Utility.CustomMembershipProvider"

设置passwordFormat="hashed"仅告知您使用的想要密码的会员提供商。如果您使用自定义成员资格提供程序,则必须对该提供程序进行编码以遵守passwordFormat设置。

我99%确定您的密码以明文形式存储的原因是因为这是CustomMembershipProvider编程要执行的操作。

答案 1 :(得分:-3)

好吧,我想出了这个。答案是“是的,web.config中有一种机制可以自动解密我的SHA1密码。注意:

  

解密= “自动”

<machineKey validationKey="MY Validateion Key"
            decryptionKey="My Decryption Key"
            validation="SHA1" decryption="Auto" />