在不安全的密码更改中验证逻辑

时间:2012-01-31 00:01:17

标签: php passwords md5

我是一个单人乐队,必须解决有人创建日志时间的问题。我有一个客户端站点,密码存储不明确(纯文本)。我想解决这个问题,但我只想发布这个过程以确保我在转换为哈希密码(最有可能是md5)的正确轨道上。

以下是我可以相信我可以解决这个问题的步骤。

  1. 更改表以允许更大的加密密码。
  2. 将salt,以前的密码和上次更改的密码添加到表格中。
  3. 重置所有密码,存储所有旧密码。存储旧密码时,不确定是使用纯文本还是md5。
  4. 强制用户更改密码。这个过程我还在陪审团。

    • 我认为我允许他们登录,验证用户,检查密码是否为32个字符以内。

    • 如果更少,请检查过去的密码是否匹配。

    • 如果过去的密码匹配,请将包含临时令牌的电子邮件发送到页面以更改密码。

  5. 这听起来合理吗?我担心的部分是他们被迫更改密码的时候。另一种选择是在他们尝试登录时向他们发送令牌以更改密码。

    提前致谢!

1 个答案:

答案 0 :(得分:0)

我认为你应该将两个问题分开:
1.使用单向加密加密密码
2.让客户每180天左右更改一次密码

关于#2:要求用户每隔一段时间更改一次密码是完全可以接受的,但是你不应该把它缩短180天,因为它会变得非常烦人......