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

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

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

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

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

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

https://gist.github.com/abcdabcd987/5b098de6545a9c1d0b62
5019 次点击
所在节点    程序员
27 条回复
loading
2015-09-25 21:53:27 +08:00
@jhdxr 这是治标不治本的,过好多年算力又上来了
likexian
2015-09-25 21:54:50 +08:00
密码是 123456 ,算法再叼也没用,存得好还要防用户,安全无处不在。
pein
2015-09-25 22:12:42 +08:00
@loading 不好意思,跑题了。那还是 bcrypt 吧, laravel (一个 php 框架)现在默认自带的加密就是 bcrypt
ruchee
2015-09-26 08:44:09 +08:00
password_hash
zapper
2015-09-26 12:29:02 +08:00
如果同时知道了密文密码和加密方式,可以反向解密出明文吗?求科普...
abcdabcd987
2015-09-26 14:56:55 +08:00
@zapper 加密的东西是一定要能解密的
但是保存密码的时候我们并不是加密 而是利用某些不可逆的摘要算法 计算出一个 hash 值
如果两个不同的输入得到了同样的 hash 值 那么两个密码都可以登入
回到你的问题 对于密码 hash 来说 一般选择不可逆的 hash 所以是不可能知道原文的 因为理论上原文有无穷多个
那密码的破解是怎么回事呢 前面说到只要 hash 值一样就认为密码正确 所以破解的方法就是穷举原文 直到找到一个 hash 值相同的
shepherd
2015-09-26 17:16:49 +08:00
不行就 4096 次 bcrypt

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

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

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

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

© 2021 V2EX