我正在使用pbkdf2算法来散列密码。 为evey密码生成随机盐,为了使计算持续约1秒,迭代次数设置为 。取消密码与pbkdf2散列
我还节省了盐和散列在sambe缓冲:
-----------------------
| SaltLen | 4 |
-----------------------
| Salt | saltBytes |
-----------------------
| HashLen | 4 |
-----------------------
| Salt | hashBytes |
- ---------------------
我的问题是,这个哈希密码未链接到一个用户(用户可以拥有多个密码),我需要有可能只使用密码本身来取消密码。 我看到的唯一方法是散列密码,以取消数据库中的每一个盐,直到找到相同的散列,这将永远(每盐1秒)。
有没有更好的方法来做到这一点?
_“取消密码”_是什么意思? – 1615903
在这种情况下,密码是许可证,我想将其标记为已取消 – mba7
您需要某种标识符才能首先查找该行。例如一个从1,2,3开始的64位整数。如果需要,您可以将它附加到密码的开头,但它将以非哈希形式。 – SilverlightFox