程序员的日常

存密码

2016-05-06  本文已影响156人  liyinkan

在使用某平台的时候,使用修改密码功能,赫然发现我的当前密码被明文的显示在页面上,很友好的提醒我:你现在密码是什么,而且不需要我输入当前密码,直接输入新密码。

Untitled.png

我们把问题想深一些,对于那些【是不是需要提示】,【更应该让用户自己输入】这类关于交互的讨论我们暂时略过。

这个功能其实从本质上反映了一个问题:这个平台秘钥安全性其实就是一层纸。

此平台的密码竟然可以通过密钥解密出来

Paste_Image.png

他们技术是如上回复我的。

几个原则

他们这样做让我一身冷汗,如果我是他们公司中有生产权限的人,或者管理员权限的人,我轻轻松松就能拿到所有客户的密码。简直就是神一般的存在。

简单而言,存储bcrypt, scrypt等算法输出的内容,不要用salted hash的方式存储密码,不要用加密的方式存储密码,当然,更不要明文存储。

参考文章:
https://www.zhihu.com/question/20479856
http://blog.jianguoyun.com/?p=438
http://marc-stevens.nl/research/md5-1block-collision/
https://en.wikipedia.org/wiki/Rainbow_table

上一篇 下一篇

猜你喜欢

热点阅读