我正在接收两个字符串:用户名和密码,基于这两个字符串,我将检索具有相应字段的AspNetUser的实例。我想要产生相应的Id,但只有当名称和通行证签出。前者很简单,因为它是纯文本。
给定所提供的密码,我如何验证哈希值是否正确?
我已经看了几个小时默认模板中的代码,但是我无法理解它。基于此页,我已经创建了自己的HASHes,但是我得到的与DB中的on不同,所以我猜我做错了,或者他们在散列之前添加了一些神奇的部分。
我的: E8B9C259EAB04BBB67B2D67AF5745B DB: AFczTgO67ViTWwZNejEiTyKRg5s96x5mOmwFFBj7yRUpys/5duOw0q6I6imCm1t1hQ==
看上面,你能看出区别吗.?使用的密码是"Abc123()",如果有问题的话。
当我尝试使用MD5CryptoServiceProvider时,我是不是找错了树?在计算哈希之前,是否存在被插入源的默认字符串?
当然,如果有关于最佳实践的评论,我对他们开放。但是,请记住,安全问题是我的弱点,已经困扰了我很长一段时间了,所以这就是,我想用的方式来理解这个概念,包括一些细节。如果可能的话,就是这样。
我可以选择使用MS为我提供的工具,但我还没有得到正确的,也没有。在我看来,似乎有很多代码在做“这里的事情,那里的一些事情”。
<system.web>
<membership defaultProvider="donkey">
<providers >
<clear/>
<add name="donkey" passwordFormat="Hashed" />
</providers>
</membership>
<authentication mode="None" />
<compilation debug="true" targetFramework="4.5.2" />
<customErrors mode="Off"></customErrors>
<httpRuntime targetFramework="4.5.2" />
</system.web>发布于 2016-01-15 22:32:02
您使用的Membership类提供了静态ValidateUser方法:
验证所提供的用户名和密码是否有效。 公共静态bool ValidateUser(字符串用户名,字符串密码)公开无效Login_OnClick(对象发送方,EventArgs args) ( if EventArgs PasswordTextbox.Text) FormsAuthentication.RedirectFromLoginPage(UsernameTextbox.Text,NotPublicCheckBox.Checked);否则Msg.Text =“登录失败。请检查您的用户名和密码,然后再试一次。”
https://stackoverflow.com/questions/34649423
复制相似问题