2012-01-31 89 views
0

我是一个人的乐队,必须解决某人某个时间以前创建日志的问题。我有一个客户端网站,密码存储不安全(纯文本)。我想补救这一点,但我只是想过程中,以确保我在正确的轨道上转换为哈希密码(最有可能的md5)。在不安全的密码更改中验证逻辑

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

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

    • 我想我允许他们登录,验证用户,检查密码是否为32个字符或更少。

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

    • 如果以前的密码匹配,用临时令牌发送邮件到页面更改密码。

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

在此先感谢!

+0

如果您有用户的明文密码,为什么不只是MD5他们?在这种情况下,您不需要检查特定的长度,并且可以立即增加安全性。检查盐是否定义,如果没有,则将其转换为md5。当用户使用一些随机盐发送新的密码包时,存储新的md5并存储随机盐,以便知道这是一个转换后的哈希值。 – atom 2012-01-31 13:30:23

+0

我忘了提及我有理由相信某些密码可能已被泄露。 – 2012-01-31 14:13:39

回答

0

我认为你应该两个问题之间分开:
1.加密使用单向加密
2.使客户端更改其密码每隔180天左右

关于#2口令:这是完全可以让用户在每个时间段更改密码,但是不应该缩短到180天,因为它变得非常烦人......