关于加盐值(SALT)

李木子QQ Java开发  2017-11-28 11:18:57
看到网上有介绍 原始密码 + salt值 进行hash存储的,然后说salt值只有服务器知道,每次的salt值是随机生成的,
同一密码由于所加salt值不同,在数据存储的也不一样。
问题:A用户在注册时系统加的salt值与A用户在登录时系统加的salt值怎么能保证一致呢,不是随机生成的吗?
...全文
576 2 点赞 打赏 收藏 举报
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
AvenCN 2017-11-28
你把这个salt值作为用户表的一个字段存储起来就可以
  • 打赏
  • 举报
回复
wybwys1 2017-11-28
验证密码时将输入的密码用存储的随机salt计算,得到的结果相同则表示密码正确 你可以了解下bcrypt算法,比如123456计算结果为$2a$10$7GBXcpT8Pjy7Of/YYubRMu5sl/MQxsFtegkFVsfwNyXGWnxYkJ3rO,可以直接存储 其中2a是算法标识,10是强度,7GBXcpT8Pjy7Of/YYubRMu是本次的随机salt,5sl/MQxsFtegkFVsfwNyXGWnxYkJ3rO是hash结果, 要验证时使用算法提供的校验方法就好 有兴趣可以读下这篇文章: https://wooyun.js.org/drops/%E5%8A%A0%E7%9B%90hash%E4%BF%9D%E5%AD%98%E5%AF%86%E7%A0%81%E7%9A%84%E6%AD%A3%E7%A1%AE%E6%96%B9%E5%BC%8F.html
  • 打赏
  • 举报
回复
相关推荐
发帖
Web 开发
加入

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2017-11-28 11:18
社区公告
暂无公告