我去,同事居然用明文存储密码!!!

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: Java技术栈www.javastack.cn优秀的Java技术公众号Oh My God!

image.pngJava技术栈


www.javastack.cn


优秀的Java技术公众号


Oh My God!


最近检查代码,发现某个系统登录的逻辑直接用明文查询数据库,然后栈长去看了下数据库表,居然是明文存储,简直不敢相信。。。


简单介绍下,这是一个企业内部系统,就几个功能点,公司某个部门的人在用,整个系统就由一个开发人员完成,这个开发人员毕业两年左右了,还算是初级开发。


密码为什么要明文存储呢?虽然只是一个小小的内部系统,但这也是不合规的,也是十分严重的安全隐患,我便去找这个系统的开发人员了解了下情况。


栈长:这个系统为什么要用明文存储用户密码?

开发:这是内部小系统,只有几个人在用,应该不用加密吧

栈长:系统不分大小,所有敏感信息都需要加密处理,更何况是密码,赶紧修改处理下

开发:好的,我的锅


虽然开发意识到自己的错误,但在如何使用加密问题上又犯难了,我让他直接参考了别的系统的加密逻辑。


这真是一个严重的、低级的安全问题,当然测试也有责任,没有检查数据,但更多的是开发没有这个安全意识,这个一旦发生事故,他被开除或者追责一点都不为过。


虽然低级,之前某些互联网公司也曾暴过明文存储导致大量用户和密码泄露的事故,那么,我们到底该如何安全的存储呢?一般有以下几种方案:


MD5(不推荐,不安全了)


AES(不推荐,密钥不好保存,可被解密)


3DES(不推荐,密钥不好保存,可被解密)


SHA1(不推荐,不安全了)


SHA256


SHA512


PBKDF2


bcrypt


scrypt


该使用什么方案加密很清楚了吧,栈长之前分享过一篇很详细的解答各种加密算法,大家可以看下,或者关注公众号:Java技术栈,在后台回复 "算法" 获取这篇文章。


通过这个事情,栈长真的体会到,现如今软件行业开发人员水平真的太参差不齐了,什么狗屎代码我都见过。


企业为了生存,节约成本,需要招些初级开发人员无可厚非,但真的有些开发人员就真的不动脑子想事情,对自己写的代码一点也没有要求,没有追求代码完美的意识……


当然,我也能理解,每天一大堆的 CRUD 业务需求都会让开发人员陷在里面不可自拔,哪来时间做代码优化、做思考?说句大实话,能准时下班,都没有几个公司能做到。


即使如此,这也不能成为写烂代码、写 BUG、不自我提升的理由。这完全也看人,看他想不想把事情做好,想不想提升自己,有没有对自己有要求。


栈长肺腑之言了,希望大家都对自己有点要求,才能成就更好的自己,不要成为同事心目中诟病的对象,自古至今,严于律己的混的都不会太差,一起加油吧,骚年们!


最后,你们公司用的什么加密方式,欢迎留言分享~


相关文章
|
存储 算法 安全
用户密码到底要怎么加密存储?
作为互联网公司的信息安全从业人员经常要处理撞库扫号事件,产生撞库扫号的根本原因是一些企业发生了信息泄露事件,且这些泄露数据未加密或者加密方式比较弱,导致黑客可以还原出原始的用户密码。
880 0
用户密码到底要怎么加密存储?
|
3月前
|
算法 安全 数据安全/隐私保护
支付系统---微信支付09------数字签名,现在Bob想要给Pink写一封信,信件的内容不需要加密,怎样能够保证信息的完整性,使用信息完整性的主要手段是摘要算法,散列函数,哈希函数,H称为数据指纹
支付系统---微信支付09------数字签名,现在Bob想要给Pink写一封信,信件的内容不需要加密,怎样能够保证信息的完整性,使用信息完整性的主要手段是摘要算法,散列函数,哈希函数,H称为数据指纹
|
3月前
|
算法 安全 数据安全/隐私保护
支付系统-微信支付10--数字证书,我Doug谎称自己手中公钥是Bob的公钥 ,谁都可以发送公钥,怎样判断公钥是真实的呢?Doug就可以用自己私钥做成数字签名给pat,而Pat用假的公钥进行验签,数字
支付系统-微信支付10--数字证书,我Doug谎称自己手中公钥是Bob的公钥 ,谁都可以发送公钥,怎样判断公钥是真实的呢?Doug就可以用自己私钥做成数字签名给pat,而Pat用假的公钥进行验签,数字
|
数据安全/隐私保护
【密码学】密码棒密码
【密码学】密码棒密码
282 0
|
算法 数据安全/隐私保护
什么叫明文,什么叫密文、密码、密钥,为什么在数据库里不采用明文保存密码?
什么叫明文,什么叫密文、密码、密钥,为什么在数据库里不采用明文保存密码?
327 0
|
算法 安全 数据安全/隐私保护
现代密码学 | 02:流密码——2
现代密码学 | 02:流密码——2
682 0
|
资源调度 算法 安全
现代密码学 | 02:流密码——1
现代密码学 | 02:流密码——1
636 0
|
存储 分布式计算 算法
最安全的加密算法 Bcrypt,再也不用担心数据泄密了~
最安全的加密算法 Bcrypt,再也不用担心数据泄密了~
|
JavaScript 前端开发 网络安全
若依框架渗透测试用户名密码明文传输问题
若依框架渗透测试用户名密码明文传输问题
933 0
若依框架渗透测试用户名密码明文传输问题
|
安全 算法 Java
密码转换的算法解析(简单密码)
HashMap在java编程中是非常方便对于我们赋值取值
密码转换的算法解析(简单密码)