给定:
$salt - 一个足够长的伪随机生成的字符串
$pepper - 一个足够强大的私钥,只有存储密码短语的数据库管理员知道
你会看到吗
$hash = bcrypt(hmac($userpassphrase,$pepper),$salt)
有意义地优于
$hash = bcrypt($userpassphrase,$salt)
考虑到管理/存储 $pepper 和 $salt 的额外负担?
我的假设是 hmac 并没有显着地增强产生的 $hash,并且存储 $pepper 的负担超过了任何假定的好处……但我很想听听有见地的意见。