asp.net-membership – 黑客有可能解密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这样的哈希算法被认为是“破碎的”,因为有可能比蛮力时间更快地找到所谓的“哈希冲突”.您将需要找出您的平台使用哪种算法来生成密码哈希值,并读取一些内容以确定是否可以找到该算法的哈希冲突. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 循环通过gridview并获取数据键值
- asp.net-mvc – MVC4 Razor对大括号感到困惑
- asp.net-mvc – 是否发布了ASP.NET MVC 5?
- asp.net-mvc – ASP.NET MVC:通过两个控制器操作重用视图
- asp.net – 如何更改Y轴标签字体大小?
- asp.net-mvc – ApiController中的ASP.NET Web API路由
- 我可以使用ASP.NET Core仅针对.NET 4.6.1吗?
- asp.net – 为customvalidator设置errormessage?
- asp.net-mvc – 基于属性名称的共享编辑器模板?
- asp.net-core – 如何使.NET Core类库从.NET 4.6项目引用?
- asp.net-mvc – MVC HtmlHelpers与Razor有关
- asp.net – 如何解决错误:当应用程序未在UserIn
- asp.net-core – appsettings.json中ConnectionS
- 如何使用ASP.NET MVC增加对AJAX JSON响应的2MB限
- Jquery 组合form元素为json格式,asp.net反序列化
- asp.net – 在网页上的ReportViewer控件中呈现时
- asp.net进程中长时间运行的代码
- 如何从ASP.NET变量中提供JavaScript变量数据?
- asp.net-mvc – 使用LINQ的多个或单个存储库
- asp.net – 多个验证组,仅在控件模糊上验证一个