在使用sha512加密之前,我有一个常量的SALT附加到每个cookie。如果我知道明文和多个cookie的最终加密值,是否可以使用像开膛手约翰这样的工具来猜测盐值?
我在互联网上找到的答案谈到了找密码,但我有兴趣找到盐。
答案 0 :(得分:1)
简答:
不,你不能。
原因:
首先,sha512是一个哈希函数。你不能“解密”哈希函数。如果它能够做到这一点,那么sha512将不安全。
几天前,谷歌在6,610个CPU-Years中发现了第一次碰撞。
(这不是攻击!)他们使用了大量的分布式系统。所以像john-the-ripper这样的普通程序将无法做到这一点。
答案 1 :(得分:1)
SHA512不加密。
如果盐只是几个字符或字节,攻击很容易成功,那么就需要对盐范围进行暴力攻击。
根据使用情况,HMAC可能是一个更好的选择,而不仅仅是添加盐,对连锁盐有攻击(取决于使用)。
如果您使用相同的盐,攻击者可以发现它可以访问系统。一种更好的方法是使用带有HMAC的随机盐并将盐添加到哈希值,然后它不需要是秘密的。这假设您需要能够从相同的数据重新计算相同的哈希
对于需要更多安全性的密码,使用带有salt的哈希函数几乎不能提高安全性。相反,使用随机盐在HMAC上进行大约100毫秒的持续时间并使用哈希值保存盐。使用PBKDF2
,Rfc2898DeriveBytes
,password_hash
,Bcrypt
等功能以及类似功能。重点是让攻击者花费大量时间通过暴力破解密码。