好吧,我不知道它究竟叫什么,所以我称之为动态盐哈希。最近,我遇到了一种使用动态盐(随机生成)的散列算法。因此,相同的字符串会产生不同的哈希值。我想知道它是如何工作的以及如何验证。 verify函数只需要2个参数:字符串和哈希值。我想知道它是如何工作的。
修改
我已经看到了一个类似(但不是重复)的问题:https://crypto.stackexchange.com/questions/1770/salts-how-does-the-script-know-what-the-salt-is
我的问题和那个问题尚未得到解答。
答案 0 :(得分:2)
动态盐的主要原因是防止“彩虹表”攻击。
因此,您必须将盐存储在某处(例如在表格中)。 然后,每次要验证密码时,您都必须获得这种特定的盐。
术语“动态盐”并非每次验证时都会发生变化。 它只表示每条记录都是动态的。
This论文包含您需要了解的所有内容。