从加密和明文值中获取常量 SALT

Get constant SALT from encrypted and clear text values

我有一个常量 SALT,它在使用 sha512 加密之前附加到每个 cookie。如果我知道多个cookie的明文和最终加密值,是否可以使用像john the ripper这样的工具来猜测盐值?

我在网上找到的答案都说找密码,但我有兴趣找盐

简答:

不可以。


原因:

  1. 首先sha512是一个哈希函数。你不能 "decrypt" 哈希函数。如果能做到这一点,sha512就不安全了

  2. 几天前 google 发现了 6,610 CPU 年来的第一次碰撞。

    来源:First sha512 Hashcollsion

    (这不是攻击!)他们使用了大量的分布式系统。所以像 john-the-ripper 这样的普通程序将无法做到这一点。

SHA512 不是加密。

这需要在盐范围内进行暴力攻击,如果盐只是几个字符或字节,攻击很容易成功。

根据使用情况,HMAC 可能是比仅附加盐更好的选择,存在对连接盐的攻击(取决于使用)。

如果您使用相同的 salt,它会被获得系统访问权限的攻击者发现。更好的方法是使用带有 HMAC 的随机盐并将盐添加到哈希值之前,这样就不需要保密了。这假设您需要能够从相同的数据重新计算相同的散列

对于需要更高安全性的密码,使用带盐的哈希函数对提高安全性几乎没有帮助。相反,使用随机盐迭代 HMAC 大约 100 毫秒,并将盐与哈希一起保存。使用 PBKDF2Rfc2898DeriveBytespassword_hashBcrypt 等函数和类似函数。重点是让攻击者花费大量时间通过暴力破解找到密码。