嘿伙计们正在考虑我可以做些什么来改善当前的密码安全性。 大多数人都知道彩虹表可以解密"黑客攻击" md5在几秒钟内哈希。
我的想法是,我怎样才能让这更安全。如果"黑客"黑客得到了一些md5哈希没有完整的md5哈希?
例如,我选择的密码" rabbit" md5哈希等于(a51e47f646375ab6bf5dd2c42d3e6181) 互联网上几乎每个彩虹表都可以将这些md5哈希解密成清晰的单词" rabbit"。
但是如果我只将前10个符号解析到数据库中会怎样。如果用户使用其密码登录,将检查前10个标志是否等于数据库中的10个标志。所以,如果黑客得到了一些哈希,他就无法恢复其中的任何一个,因为这些都没有任何意义。
这可能并且更安全吗?
这只是一个想法,我非常感谢你的评论。
感谢!!!
答案 0 :(得分:3)
答案 1 :(得分:2)
虽然 使得基于彩虹表的驱动器不太可行,但它并没有真正增加安全性。一旦攻击者发现你正在使用' trunctated' MD5哈希,你的方法实际上让他或她更容易 - 毕竟,他/她不必找到具有正确哈希的单个短语,只有一个共享第一个10个字符左右。
这几乎是security through obscurity的教科书示例,我很遗憾地说。您正在考虑更安全地存储密码的方法,并且您已经意识到使用普通的MD5哈希值不是一个好主意,这很好 - 但这是错误的方法。
答案 2 :(得分:1)
更安全的密码存储方法是为每个用户使用不同的散列算法 - 或者为每个用户使用不同的散列函数参数并存储它。这样,有人必须为大量不同的可能性生成彩虹表。
查看Salting了解详情。