【发布时间】:2016-10-14 09:25:16
【问题描述】:
以下是我可以在商业产品中使用的盐腌和储存盐的可行方法吗?
- 在用户创建/注册时:我生成一个随机 Salt 字符串。
- 当执行下面的代码时,我知道他们的纯文本密码和用户名。
- 我将 Salt 存储在数据库中,并将用户名链接到单独的表中
- 字符串 hashedPwd = hash(pwd+salt)
- 我将 hashedPwd 和用户的详细信息存储在普通的 [users] 表中
我很好奇的一点:
- 用户尝试登录 - 他们输入了用户名和密码 2。我只取他们的用户名,并在 Salt 表中查找它,如果找到匹配项,我将得到 Salt。是/否?
- 字符串 UserTryingToLoginhashedPwd = hash(pwd+Salt)
- 然后我根据用户名获取正常的 [users] 详细信息,并将 db_pwd 与 UserTryingToLoginhashedPwd 进行比较
- 如果真正常登录
现在阅读我的问题,这听起来是最合乎逻辑的做法,但可以放心使用。
【问题讨论】: