现在在数据库保存个密码也好麻烦啊……

2015-09-25 15:03:53 +08:00
 abcdabcd987
最早用 md5 ,后来加盐,再后来换 sha 系列,然后现在改成了 PBKDF2 ……

然而还是有些站点在用明文保存密码……

不禁感慨,保存个密码也好麻烦啊……

话说大家都是怎么保存密码的?

顺带附上刚刚照着资料写的 hash 密码的函数

https://gist.github.com/abcdabcd987/5b098de6545a9c1d0b62
5019 次点击
所在节点    程序员
27 条回复
shoaly
2015-09-25 15:09:30 +08:00
md5 加盐 会有什么问题? 求科普
zhicheng
2015-09-25 15:35:04 +08:00
abcdabcd987
2015-09-25 15:39:09 +08:00
@shoaly 感觉一般来说,如果密码泄漏了,盐一般是跟着泄漏的。 md5/sha1 的问题在于,算起来太快了,在 GPU 上跑得飞快,所以不是很安全。
tabris17
2015-09-25 15:41:20 +08:00
PHP 不是已经出了专门的加盐 hash 的慢算法么,我用 PHP 我不操心
tianrunlin
2015-09-25 16:51:01 +08:00
被黑的可能性=网站价值 /加密算法复杂度
网站价值太低,没有人关心的
hack
2015-09-25 16:57:24 +08:00
我是 cmd5 付费解不开直接改 code 记录下账号密码还有 cookie ,管你们用啥加密算法,都要黑你了,就不会在乎你怎么处理密码~
金融类的坐呼不服老子现上加密机,什么钱钱钱,买买买啊
orFish
2015-09-25 16:59:58 +08:00
@tianrunlin 最近泄露的很多都不小了哦
zouxcs
2015-09-25 17:34:29 +08:00
@zhicheng 不要使用第三方服务存储密码,比如 iCloud ,比如 1Password 。 推荐使用 PasswordSafe 管理密码。呵...呵...
zhicheng
2015-09-25 17:36:22 +08:00
@zouxcs 你开心就好。
wy315700
2015-09-25 18:06:19 +08:00
scrypt
colatin
2015-09-25 18:07:21 +08:00
见过用对称加密保存密码的吗?
windydays
2015-09-25 19:30:08 +08:00
@colatin 真有人这么干?
sivacohan
2015-09-25 21:00:42 +08:00
bcrypt
pein
2015-09-25 21:17:41 +08:00
突然想到,根本不用搞这么复杂的,直接延迟返回验证结果就行了,比如延迟个 0.5s ,用户也感觉不到。 GPU 虽然算得快,但他不知道哪个是正确的,还是得一个个验证, 10 亿个结果你慢慢验证哈。。。
loading
2015-09-25 21:26:02 +08:00
@pein 我们讨论的是你的数据库已经在我电脑里的场景!

在线验证不加次数限制?
loading
2015-09-25 21:28:16 +08:00
@abcdabcd987 一般不会用爆破来取得密码,成本太高,除非是针对特定用户。
colatin
2015-09-25 21:48:10 +08:00
@windydays 亲眼所见, 而且还加了 salt 哦
jhdxr
2015-09-25 21:50:37 +08:00
@pein
@loading 就是有这样子的算法的,比如 blowfish ( bcypt 就是基于 blowfish 的),它相对于 md5 、 sha1 等慢的多,如果你穷举去破(哪怕在本地)也无法接受。
以前见到过一份时间对比的。。但是现在找不到了_(:з」∠)_
frittle
2015-09-25 21:51:07 +08:00
通常用 bcrypt 。

读过这个帖子,回帖值得参考。
http://security.stackexchange.com/questions/211/how-to-securely-hash-passwords

另外 Password Hashing Competition 的评选结果也出来了,有兴趣可以看看。
https://password-hashing.net/candidates.html
fantasticfears
2015-09-25 21:52:02 +08:00
前三个方法全部都是对安全和密码学没什么了解的时候的写法。只是现在大家都知道要用安全的方法存密码。

安全,该做到的就都要做到,少了一个都会出事。

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

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

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

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

© 2021 V2EX