加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-membership – 黑客有可能解密ASP.NET会员密码吗?

发布时间:2020-12-16 06:31:31 所属栏目:asp.Net 来源:网络整理
导读:我正在使用默认的SQL Provider,默认的web.config设置来实现ASP.NET Membership. 我注意到密码是哈希的.但我不知道asp.net如何哈希我的密码,所以我不确定黑客是否有可能解密这个? 如果asp.net使用相同的规则来哈希密码,大家都知道.比黑客更容易破解它. 例如.
我正在使用默认的SQL Provider,默认的web.config设置来实现ASP.NET Membership.

我注意到密码是哈希的.但我不知道asp.net如何哈希我的密码,所以我不确定黑客是否有可能解密这个?

如果asp.net使用相同的规则来哈希密码,大家都知道.比黑客更容易破解它.

例如.如果asp.net使用MD5(123456),结果是“E10ADC3949BA59ABBE56E057F20F883E”,那么黑客可能会有一个MD5字典来查找它.

我的设置是:

<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices"
             enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
             maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
             applicationName="/" />

– SQL语句:

SELECT am.UserId,am.[Password],am.PasswordSalt FROM aspnet_Membership am

– 结果是:

F10A635D-22DA-419C-84E6-767D2A35A010,tpeiwPt5+kFbcocQZOuc4aoHeuI=,PVq9dPtbFxze9Erbfd7HrA==

密码是123456,它变成“tpeiwPt5 kFbcocQZOuc4aoHeuI =”.

这个值在不同的机器或不同的应用程序上是否总是相同的?

如果此值与盐“PVq9dPtbFxze9Erbfd7HrA ==”有关,黑客是否可以使用此盐来解密我的密码?

解决方法

为了能够回答这个问题,你必须要理解两件事:哈希的作用和盐的作用.

散列的要点是在单向过程中将任意字符串提取为已知长度的字符串.也就是说,一个好的散列算法将以这样的方式执行此操作,即找到散列到相同值的任何字符串是一个难题.

但是,问题是当给定相同的输入时,散列算法总是返回相同的结果.盐的目的是在密码数据库被盗的情况下缓解这个问题.每次我散列密码时,我都会生成一个完全随机的盐,它不需要保密,并在散列之前将其添加到我的密码中.这样,我确保每次散列给定密码时,我都会获得不同的结果.随机盐不需要保密的原因,实际上必须与散列密码一起存储在“明文”中,因为用于生成原始散列的相同的??盐需要验证,为了验证目的,给定的密码匹配哈希.

因为每次用户想要更改密码时随机生成好的盐,即使重新存储相同的密码也几乎肯定会创建完全不同的散列,只要存储密码的应用程序正确使用盐.

如果哈希算法构造良好,那么对随机盐存储的密码进行的唯一攻击就是强力搜索.像MD5这样的哈希算法被认为是“破碎的”,因为有可能比蛮力时间更快地找到所谓的“哈希冲突”.您将需要找出您的平台使用哪种算法来生成密码哈希值,并读取一些内容以确定是否可以找到该算法的哈希冲突.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读