如果我使用 SHA1 加密密码,然后向其中添加盐,然后使用 bcrypt 对其进行加密。是否比我在未加密的密码中添加盐盐然后用 bcrypt 加密更安全?
谢谢你。
如果我使用 SHA1 加密密码,然后向其中添加盐,然后使用 bcrypt 对其进行加密。是否比我在未加密的密码中添加盐盐然后用 bcrypt 加密更安全?
谢谢你。
在将密码传递给 bcrypt 之前计算密码的 SHA-1 哈希不会提供任何额外的安全性。
充其量,它会保留 bcrypt 的安全性。将 SHA-1 应用于初始密码既不会增加任何额外的熵,也不会以任何方式扩大结果的范围,因此结果的安全性充其量只能与 bcrypt 本身一样好。
但Antoine Joux的研究表明,情况可能比这更糟。对于多重冲突,您甚至可能会削弱安全性,从而使生成的方案比单独使用 bcrypt更不安全。
一般来说,最好按照规定使用密码原语。这至少为您提供了一点保证结果将是安全的 - 手动添加到方案中“以改进”事情几乎总是会以比原来更不安全的方式结束。