关于 md5 密码加密的一点小疑问

2016-08-22 14:43:50 +08:00
 binbinyouliiii

    现在很多公司都用 md5 加密来加密密码,我们公司也是用的这个方式(不是我写的),众所周知, md5 是不可逆的,所以存在数据库的密码是加密的,如果用户从前台传来密码,按照我现在所知的应该只能从传来的密码再加密后和数据库进行比较。
    前几天又看到有一个叫彩虹表的东西,觉得跟字典差不多,那这样岂不是很不安全,既然 md5 不可逆,那为什么公司都不自己随便创个加密方式,非要用 md5 ,有了彩虹表这个东西, md5 又比普通的加密安全吗?


刚实习的新手,有小白的地方轻喷😃

13356 次点击
所在节点    Java
105 条回复
GentleSadness
2016-08-23 19:02:22 +08:00
我只想问 既然 md5 不可逆,那为什么公司都不自己随便创个加密方式

这话的逻辑联系在哪里
ryd994
2016-08-23 21:23:02 +08:00
不要用 md5 来处理密码!
不要用 md5 来处理密码!
不要用 md5 来处理密码!
bobylive
2016-08-23 21:37:37 +08:00
MD5 + salt 凑合着用。 cmd5 虽然能查但是太复杂的一样不行。至于彩虹表只要够大就一定能查,提前计算好而已,查询比计算快。
Vizogood
2016-08-24 16:18:18 +08:00
那是你见过能“逆向”的 md5 大部分的 md5 是不能靠彩虹表“猜”出来的 -.-
leaves615
2016-08-24 23:33:28 +08:00
默认 MD5 短位现在都能通过『彩虹』查出来。所以在使用 MD5 时都会添加 salt 值和混淆。

只要是用户输入的密码都会存在暴力破解,不管密码是通过 md5,sha1,加密机。 现阶段我所了解到的,只能通过一些手段增加暴力破解的难度 /时间成本,来缓解。比如:验证码,登录失败次数限制、 IP 限制。

如果真存在一种不能破解的方法的话,那就不会出现那么多 QQ ,微博、 XXX 被盗的事情出现了。

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

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

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

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

© 2021 V2EX