在mysql中存储密码...使用哈希吧?但是你如何向用户发送忘记密码?

eat*_*hil 7 mysql sql security passwords

我一直在研究在mysql中存储用户密码,无处不在的回复是使用MD5或SHA1等加密算法来存储它.但是,如果用户x忘记密码并希望将其发送给她,该怎么办?然后怎样呢?我不能发给她md5哈希!这个问题在现实世界中是如何处理的?有两个数据库吗?一个比较哈希和另一个忘记密码?但有什么区别,那时两者都是只读的连接到它的sql用户.你是怎么做到的?谢谢!!

pse*_*der 10

从不向用户发送密码是非常标准的安全做法.相反,您提供的密码重置实用程序与其访问电子邮件帐户的能力和/或回答有关其个人资料的问题(如安全问题或他们所处的邮政编码)相关.

功能概要:

  1. 用户点击"忘记密码链接"
  2. 用户输入安全挑战信息(电子邮件地址,安全问题,如果需要)
  3. 系统使用自动生成的链接发送密码重置电子邮件(例如,在查询字符串中生成GUID)
  4. 系统会创建一个密码重置记录,其中包含重置GUID,用户的用户名以及密钥超时的时间.
  5. 用户检索电子邮件,点击链接.
  6. 系统匹配GUID,删除密码重置记录,将用户发送到密码重置页面.

  • 如果受保护的服务比电子邮件渠道的所有权更敏感,则需要辅助凭证(可能是安全问题或其他内容).由于电子邮件明确地存在于通常本身受到损害的帐户中,因此许多第三方可能会访问重置代码.对于一个虚拟的网络论坛帐户,你不会打扰; 对于像网上银行这样的东西,你是. (2认同)