如果两个字符串的md5冲突在那里没有结果。密码是否有效?

时间:2013-11-20 19:00:24

标签: security hash md5

例如(这不是真的,我只是制作随机的md5字符串)

如果密码1的MD5是: MD5STRING

和密码2的MD5是 MD5STRING

并且两个md5哈希值相同,在输入密码时,哪一个都有效?

3 个答案:

答案 0 :(得分:3)

是的,在这种情况下,可能会接受其中一个密码。请注意,现在数据库应该包含PBKDF的值(例如PBKDF2,bcrypt或scrypt)而不是散列。

但是如果使用MD5,那么就不太可能存在这样的密码。可以生成MD5冲突,但这对于非常少量的数据不起作用。 16个字符的密码不会产生冲突,您至少需要一个额外的16字节块来创建冲突。

MD5已损坏,但 已损坏。

答案 1 :(得分:0)

如果没有更具体的信息,最好的答案如下。

取决于您如何处理密码。

在大多数情况下,两个密码都可以使用,因为密码作为一对与用户令牌相关联,因此您必须匹配用户令牌和密码才能获得访问权。

答案 2 :(得分:0)

只要您的密码链接到用户名/电子邮件/任何唯一字段,就可以了。 但请记住,如果黑客无法访问您的数据库,他将能够更快地解密密码。

另一方面,如果可以的话,我建议至少使用SHA512而不是MD5。