我有一个需要用户登录的MVC4Web应用程序。大多数用户没有电子邮件帐户。如果有人忘记了他的密码,我怎么重置它?我发现所有重置密码系统都需要某种类型的电子邮件帐户。我只想要一些简单的东西,比如将其重置为默认密码,用户可以在使用该默认密码登录后更改其密码。问题是密码在SQL Server中是加密的。我找不到加密密码的工具。
发布于 2016-03-16 07:00:09
首先,最广泛使用的身份验证实现花费了相当长的时间来防止用户凭证以可逆(即平面文本或可以加密的)格式存储。相反,您应该散列平面文本凭证并与存储值进行比较(&S)。
除了安全地重置用户凭证之外,你还需要通过一些其他方式对他们进行身份验证,正如你提到的,这通常是通过电子邮件来实现的,但如果这不可能,你应该看看其他带外身份验证方法,也许可以给用户发送一条带有一次性代码的短信,或者让他们回答一系列安全问题。验证用户身份后,强制他们设置新密码并覆盖您为该用户存储的散列。
https://stackoverflow.com/questions/36017073
复制相似问题