2

嘿,伙计们,我正在考虑我可以做些什么来提高当前密码的安全性。你们中的大多数人都知道彩虹表,它可以在几秒钟内解密“被黑”的 md5 哈希。

我的想法是,我怎样才能使它更安全。如果入侵的“黑客”获得了一些 md5 哈希值,但没有完整的 md5 哈希值怎么办?

例如,我选择“rabbit”的密码 md5 哈希等于 (a51e47f646375ab6bf5dd2c42d3e6181) 互联网上几乎每个彩虹表都可以将这些 md5 哈希解密为明文“rabbit”。

但是,如果我只将前 10 个标志解析到数据库中会怎样。如果用户使用其密码登录,则会检查前 10 个符号是否等于数据库中的 10 个符号。因此,如果黑客获得了一些哈希值,他将无法恢复其中任何一个,因为这些都没有任何意义。

这可能而且真的更安全吗?

这只是一个想法,我非常感谢您的评论。

谢谢!!!

4

3 回答 3

3

我建议遵循PHP 密码的安全哈希和盐

于 2012-05-05T17:32:12.543 回答
2

虽然这确实降低了基于驱动彩虹表的攻击的可行性,但它并没有真正增加安全性。一旦攻击者发现你正在使用“截断”的 MD5 哈希,你的方法实际上让他或她的事情变得更容易- 毕竟,他/她不必找到一个具有正确哈希的短语,只需找到一个共享前 10 个字符左右。

很抱歉,这几乎是通过默默无闻的安全教科书示例。很高兴您正在考虑更安全地存储密码的方法 - 并且您知道使用普通 MD5 哈希不是一个好主意 - 但这是错误的方法。

于 2012-05-05T17:36:50.220 回答
1

存储密码的一种更安全的方法是为每个用户使用不同的散列算法 - 或者为每个用户的散列函数使用不同的参数并存储它。这样,某人将不得不为大量不同的可能性生成彩虹表。

查看盐渍以获取更多信息。

于 2012-05-05T17:31:29.863 回答