保存密码时需要加盐 Hash 之后保存密文,那么,如果每个密码使用的“盐”不同的话,“盐”怎么保存?

2019-12-17 15:38:21 +08:00
 cloudfstrife
8536 次点击
所在节点    信息安全
44 条回复
cloudfstrife
2019-12-17 18:18:25 +08:00
TKS ALL。谢谢各位
no1xsyzy
2019-12-17 18:41:15 +08:00
话说:
> 每个密码使用的“盐”不同
为什么前面的是
> 如果
啊?难道这不是必须的吗?同盐不还是彩虹表近乎离线破解吗?
只不过特地给你专门做张表罢了。
no1xsyzy
2019-12-17 18:42:44 +08:00
@jorneyr 效率低就是优势啊,你快了黑客脱完库破解也快啊
PopRain
2019-12-17 18:44:49 +08:00
用户名+密码 作为密码, 就不用加“盐”了吧
Mutoo
2019-12-17 19:29:28 +08:00
盐是为了对抗彩虹表,可以明文储存。
Bcrypt 是为了对抗暴力破解,增加遍历组合的时间。
yh7gdiaYW
2019-12-17 23:32:08 +08:00
之前公司用的是: md5(用户名+md5(密码)+固定的一个字符串)
zlowly
2019-12-18 00:48:49 +08:00
可参见 linux 系统的 /etc/shadow 保存密码的格式
$ID$SALT$ENCRYPTED
The $ID indicates the type of encryption, the $SALT is a random (up to 16 characters) string and $ENCRYPTED is a password’s hash.
Hash Type ID Hash Length
MD5 $1 22 characters
SHA-256 $5 43 characters
SHA-512 $6 86 characters
conn4575
2019-12-18 01:00:49 +08:00
bcrypt 还是慎重吧,bcrypt 虽然安全,但是极其消耗 CPU 资源,被攻击时别人可以轻易把你的机器 CPU 打满。
普通的多个 salt 多重 hash 的方式目前来看已经足够安全,别指望单靠一个 bcrypt 就完全解决密码安全问题,有很多安全策略在里面
msg7086
2019-12-18 02:34:11 +08:00
@conn4575 被攻击时难道不应该解决攻击问题吗?为什么要解决掉 bcrypt ?
k9990009
2019-12-18 07:12:52 +08:00
把加密后的密码和随机盐按特定的顺序混合存储
alphatoad
2019-12-18 07:23:54 +08:00
盐可以明文存,加盐的意义是防彩虹表
jinliming2
2019-12-18 08:26:58 +08:00
@conn4575 所以你们服务器的登录服务是可以让攻击者无限尝试不做限制的吗?正常不应该是尝试三次失败出验证码,尝试更多次失败封 IP 的吗?或者增加其他验证机制啊?
phy25
2019-12-18 08:34:42 +08:00
shiji
2019-12-18 08:36:15 +08:00
@conn4575 上验证码就好了。验证码没过就不验密码。 网络服务里面比 BCrypt 更浪费 CPU 的有的是。重复这个操作也一样能把 CPU 打满
jss
2019-12-18 08:39:01 +08:00
你该不是来收集我们的加密规则,干别的事吧…
jzmws
2019-12-18 08:39:43 +08:00
用 id 做盐
Midnight
2019-12-18 08:43:45 +08:00
@php01 什么 4 年前,10 年前都是这个做法
jorneyr
2019-12-18 08:50:53 +08:00
@no1xsyzy 是的,根据业务场景选择合适的更重要,没有银弹
ryansvn
2019-12-18 09:01:58 +08:00
iCloud 是个谜,我有一次重置手机之后,云端恢复数据,要求我输入锁屏密码,我的锁屏密码从来没有更换过,一直都是同一个,但是无论如何输入,都说不正确,最后搞得只能 DFU 刷机加上设置为新手机不恢复备份,以前东西全部丢失。
后来我就把备份功能关闭了,关键时刻掉链子平时占用空间,这种东西,不用也罢。
cloudfstrife
2019-12-18 10:32:10 +08:00
@jss 真心不是啊,主要是考虑到盐如果明文保存,会不会再来安全隐患。如果破解是针对指定用户,而不是针对全量用户的,这种情况,如果盐和密文都泄露了。会有一定的风险。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/629841

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX