我正在更新一个网站的登录过程。
目前,密码被存储为md5(密码),我想添加一个盐,但未加盐的密码用于识别可能的欺诈,因为它们通常对新帐户使用相同的密码。
20%的流量来自移动设备,这些设备不一定具有相同的ip。
你知道如何识别这些可能的欺诈行为吗?
发布于 2012-03-19 21:02:45
您仍然可以添加一个salt,但是您必须在您仍然拥有明文密码的情况下与现有密码进行比较,即您必须在创建帐户时而不是之后遍历passwords表以查找重复项(通过使用新密码散列其他帐户的salt )。
发布于 2012-03-20 00:05:16
我想说,为了防止欺诈,加盐的密码肯定比不加盐的密码有很大的好处。但是,请使用a cryptographically secure slow hashing algorithm, such as bcrypt, scrypt or pbkdf2 -而不是加盐的MD5。
但是你可以有你的蛋糕和吃它,为什么不有另一个表,其中包含以前的密码,已被用于欺诈企图?这些将是散列的,但不会加盐,并且不会存储任何帐户关联。
如果使用这些密码之一的用户被证明是非欺诈性的,您可以在调查之后通知他们将其密码更改为其他密码。
以下是我设想的如何在确定帐户用于欺诈后,将新密码添加到欺诈性密码列表中。
由于欺诈密码列表可能会降低正常用户帐户的安全性,因为他们存储在此处无盐,您应该让“好”用户在登录时更改他们的密码,如果它与欺诈密码列表中的任何密码匹配。
https://stackoverflow.com/questions/9770448
复制相似问题