我无法查看原始问题中的链接(该网站仅返回 404 not found 错误),但问题中描述的方法并没有真正使用加盐哈希。
本质上,这种方法只是使用非标准哈希:给定一个特定的密码,数据库中将存储一个唯一值。这就是使彩虹表攻击起作用所需的全部内容:我可以为可能的密码字典预先计算哈希值并查找任何匹配项。现在,我将不得不专门为这个非标准哈希函数预先计算彩虹表。
In a proper implementation of salted hashes, when the passord is created, a random salt is combined with the password and hashed. Then random salt used and the hash are stored. Even if I know the password, I cannot predict what the hash will be since there will be a different hash for each of the many possible salt values. Now an attacker needs to precompute a rainbow table for each possible salt value: this takes a much larger effort.