【发布时间】:2019-12-20 22:19:15
【问题描述】:
是否存在与自散列相关的漏洞?
假设我想保留一个 md5 哈希密码的数据库。问题是大多数人会使用简单的密码,如“密码”、“管理员”等,这些都是反向 md5 查找服务的主要候选者。我的想法是散列哈希,即:
password = 'admin'
md5(password) = 0x21232f297a57a5a743894a0e4a801fc3
md5(md5(password)) = 0xc3284d0f94606de1fd2af172aba15bf3
在现实生活中我们使用盐。但是以上是不是一个坏主意,它真的带来了固有的缺陷吗?
【问题讨论】:
-
是的,这是一个非常的坏主意。无盐,容易受到彩虹表的攻击,在 GPU 中实现暴力破解的速度非常快,而且哈希非常容易,笔记本电脑可以对其进行字典攻击。除非您是密码学家,否则不要发明自己的哈希方案,请使用 bcrypt。
-
好的,但是除了它很容易预先计算之外,没有其他漏洞了吗?这是否意味着破解“hellobatteryhorseshoefriend”是不可行的?
标签: passwords md5 password-hash