【发布时间】:2011-04-15 03:21:04
【问题描述】:
我有一个系统,在将密码保存到数据库之前,我使用 asp.net 中的 FormsAuthentication 对密码进行加盐和哈希处理
我想要做的是,而不是每次都向客户询问他们的密码,我只想要他们密码中的 3 个随机字母。如何将其与数据库中的哈希进行比较?在这种情况下,散列仍然有效吗?据我所知,散列仅被设计为单向过程,不应该被解密,所以检查 3 个随机字母的散列甚至是可能的吗?
【问题讨论】:
-
你是对的。散列是一种方法。顺便说一句,你为什么要做这样的手术?你能解释更多吗?
-
这样它增加了额外的安全级别,例如在银行网站上,他们要求输入密码,但只有 3 个随机字母,这样以防万一有人看到用户输入密码或尝试要键入密码,他们将永远不会获得密码,而只能从中获得 3 个随机字符。有什么方法可以通过散列来完成这项工作?
-
要实现这一点,您需要在比较字母时知道明文密码是什么,因为您无法生成只有 3 个字母的相同哈希。
-
感谢 svanryckeghem ,我想我可能需要使用自定义加密/解密解决方案来处理 3 个字母选择。如果您在此页面上将此作为答案,我会将其标记为解决方案:) 谢谢。
标签: asp.net hash passwords password-protection salt