我有一个用C#编写的Winform应用程序,纯粹是基于Windows的。它没有任何Web模块,也没有注册任何Web域名。 该软件已完成,但现在我需要使用另一种称为密码恢复的功能。我是新手,所以请帮助我。 我不想坚持下去。我只想要,如果用户忘记了密码,他所做的就是按下“忘记密码?”登录屏幕上的超链接和密码应通过电子邮件帐户通过电子邮件发送给他。如何实现此功能?请给出一个代码示例,考虑到我的电子邮件是'source@gmail.com',目的地电子邮件是'destination@gmail.com'
答案 0 :(得分:2)
正如user1932945所说,你永远不应该存储实际的密码。相反,您应该使用哈希密码将随机生成的数字(您的密钥)添加到密码的末尾。然后散列新密码。最后,将散列密码与密钥一起存储。然后,当他们登录时,你拿走他们的密码并从存储的任何地方获取密钥,再次将密码添加到密码中,哈希,然后将其与存储的哈希密码进行比较。
当他们忘记密码时,您应该通过电子邮件向他们发送重置密码的方法。当他们重置它时,您按照我已经提到的步骤存储新密码。
答案 1 :(得分:1)
您绝不应该将密码通过电子邮件发送给某人。这意味着您要存储密码,这是您永远不应该做的。您应该允许用户重置其密码。
执行此操作的方法是通过电子邮件发送一个代码,该代码会在winform应用程序中触发密码重置。重置代码可以是winform app根据请求生成的guid,并存储在内存中,直到收到电子邮件。