SHA1不安全?

Mat*_*att 2 sha1

可能重复:
SHA-1对密码存储是否安全?

我是加密的新手,我有一个疑问.这可能是一个愚蠢的问题,但我会问.我知道SHA1不可解密.但是想想,如果黑客创建一个包含两列的表 - 非加密密码及其SHA1加密值.行包含他在6个月内使用程序生成的所有字符组合的密码(比如9亿条记录).如果他获得SHA1加密密码,他不能轻易获得非加密密码吗?

如果是,是否有任何解决方案来防止这种情况

提前致谢.

Dou*_*las 8

您描述的攻击被称为彩虹表.是的,它肯定是短密码的有效问题 - 因此对最小密码长度的典型安全要求.但是,表的大小需要随着密码的长度呈指数级增长; 例如,对于每个附加字符,字母数字区分大小写的密码会使表增加62倍.因此,计算超出一定长度变得棘手.(只需8个字符就可以产生大约218 万亿个组合.)

你可以采取另一种预防措施是的密码(这可以简单地涉及计算其散列之前追加一个字符串常量每个密码).这样,即使攻击者可以访问预先计算的彩虹表,也不会对你的哈希有用; 必须为每种盐计算新的彩虹表.


小智 5

防止彩虹表攻击的常见解决方案是使用Salt.

我想补充一点,SHA1不被认为是非常安全的.使用功能强大的计算机,使用强力查找未解密的密码非常容易.对于存储密码,建议使用慢速散列算法,如bcrypt或PBKDF2.