【发布时间】:2018-10-31 19:26:23
【问题描述】:
我目前正在开发一个需要存储散列密码的系统。
我正在使用cryptographically secure pseudo-random number generator(CSPRNG) 生成salt。我正在使用PBKDF2 对附加了salt 的密码进行哈希处理,该密码最终将存储在数据库中。
我没有得到的是为什么我什至需要将salt 和hashed password 一起存储在数据库中。我确实理解salt 的目的。它显着降低了rainbow and lookup 攻击成功的机会。此外,具有相同密码的用户将在数据库中存储不同的哈希值。
那么哪里需要将盐存储在数据库中?
更新:
我应该早点提到这个,但是那个时候它没有点击我。这里的
password永远不会由用户提供。这是为了我们的内部目的。我们只需要在用户第一次访问我们的网站时生成它,稍后我们将在响应中发送这个Hashed密码。
【问题讨论】:
标签: security encryption hash