在存储密码之前对密码进行两次哈希比只进行一次哈希更安全还是更不安全?
我说的是这样做:
$hashed_password = hash(hash($plaintext_password));
而不是这样:
$hashed_password = hash($plaintext_password);
如果它不太安全,你能提供一个好的解释(或一个链接)吗?
另外,使用哈希函数有区别吗?如果混合使用md5和sha1(例如),而不是重复相同的哈希函数,会有任何区别吗?
注1:当我说“双重哈希”时,我指的是对密码进行两次哈希,以使其更加模糊。我不是在谈论解决碰撞的技术。
注2:我知道我需要添加一个随机的盐,以真正使它安全。问题是用同一个算法进行两次哈希运算对哈希是有利还是有害。