Oh My God!

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

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

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

栈长:这个系统为什么要用明文存储用户密码?
开发:这是内部小系统,只有几个人在用,应该不用加密吧
栈长:系统不分大小,所有敏感信息都需要加密处理,更何况是密码,赶紧修改处理下
开发:好的,我的锅

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

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

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

  • MD5(不推荐,不安全了)
  • AES(不推荐,密钥不好保存,可被解密)
  • 3DES(不推荐,密钥不好保存,可被解密)
  • SHA1(不推荐,不安全了)
  • SHA256
  • SHA512
  • PBKDF2
  • bcrypt
  • scrypt

该使用什么方案加密很清楚了吧,栈长之前分享过一篇很详细的解答各种加密算法,大家可以看下。

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

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

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

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

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

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

关注Java技术栈,栈长将继续分享好玩的 Java 技术,第一时间推送,都是干货。

java密码加密方式_我去,同事居然用明文存储密码!!!相关推荐

  1. mysql8 修改加密方式_mysql8修改密码加密方式

    mysql8用navicat可视化连接会报错加密方式错误,想要连接mysql8有两种方式 1:安装MySQL8客户端 2:修改MySQL8的密码加密方式 我采用的是第二种,因为服务器上是MySQL8, ...

  2. 织梦CMS的管理员密码加密方式

    织梦CMS的管理员密码加密方式(可还原MD516) ---------------------------------- 得到了用户名和密码如下: INSERT INTO `dede_admin` V ...

  3. mysql5.7与8.0密码加密方式

    mysql5.7与8.0密码加密方式 1.mysql5.7默认是方式是mysql_native_password; 2.mysql8.0默认是caching_sha2_password 注意:在8.0 ...

  4. Android静态安全检测 - WebView明文存储密码

    WebView明文存储密码 -WebSettings.setSavePassword方法 一.API 1. 继承关系 [1]java.lang.Object [2]android.webkit.Web ...

  5. Java 对用户密码加密(Jeecg 登录密码加密方式)MD5andDES方式

    jeecg对应的路径为org.jeecgframework.core.util下的PasswordUtil  可参考作为其他应用的加密方式或者第三方使用Jeecg账号验证登录: 直接上代码(可直接调用 ...

  6. java常见的密码加密方式base64,Sha256,MD5

    java对密码常见的加密方式: 一.MD5 String password="123456"; String salt = StaticConstant.SALT; new Sim ...

  7. 如何使用Java对密码进行加密 Java Sah加密方式帮你实现加密

    我们在Web开发中,经常要保证密码的安全性,那么怎么对密码进行处理了?首先得进行加密吧!下面我介绍下Java 提供的SHA加密方式: SHA (Secure Hash Algorithm,译作安全散列 ...

  8. [转]常见的用户密码加密方式以及破解方法

    [作者]张辉,就职于携程技术中心信息安全部,负责安全产品的设计与研发. 作为互联网公司的信息安全从业人员经常要处理撞库扫号事件,产生撞库扫号的根本原因是一些企业发生了信息泄露事件,且这些泄露数据未加密 ...

  9. 常见登录密码加密方式

    目录 1 常见的加密方式 1.1.可逆加密算法 1.1.1. 对称加密 1.1.2. 非对称加密 1.2.不可逆加密算法 1.3.Base64编码 2 密码加密的方式选型 2.1 MD5密码加密 2. ...

  10. Java各种加密方式集锦(AES,DES,RSA,DSA,MD5,SHA)

    一. 什么是加密 加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容.在网络数据传输过程中会经常用到报文加密,通常是对报文体 ...

最新文章

  1. 开源DDos 机器学习思路求解的一些源码——TODO 待分析
  2. 基于easyui开发Web版Activiti流程定制器详解(四)——页面结构(下)
  3. 分析vue-cli@2.9.3 搭建的webpack项目工程
  4. php prs4,pr关键帧有什么用
  5. ubuntu nginx安装
  6. 2021年中国独角兽企业发展研究报告
  7. Python应该怎么去练习和使用
  8. pip 通过pqi切换源到国内镜像
  9. Linux 命令(72)—— ulimit 命令(builtin)
  10. 光干涉波谷,有可能低于绝对零度
  11. abaqus结果名称
  12. web安全与渗透测试培训全套视频
  13. linux+livecd维修工具,使用LiveCd修复Ubuntu
  14. 从事分布式工作10余年,这本书颠覆了我的认知 | 文末赠书
  15. 前端本地静态模板下载功能
  16. HDU6287 口算训练(唯一分解定理+二分)
  17. [1.2.0新功能系列:二] Apache Doris 1.2.0 JDBC外表 及 Mutil Catalog
  18. Unity3d使用RenderTexture制作动态头像
  19. 符合OpenDRIVE规范的xodr文件格式解读(1) ——road部分
  20. Yii2如何使用Yii:t()

热门文章

  1. 微信接口_收货地址共享
  2. java模式:深入单例模式
  3. 对JVM GC进一步的实例解析
  4. Office 365系列(1)------Office 365邮箱申请及初步配置说明
  5. 寄存器是什么 有什么作用
  6. 【自然框架】稳定版的Demo —— 三:主从表的维护方式
  7. java中如何获得屏幕的宽度和高度,android-如何获取屏幕的宽度和高度
  8. java tostring 库_JavaBean toString() – 将bean对象打印成字符串
  9. php中文件读写总结,PHP读取文件_2014.5.26的总结
  10. java多线程tasks.add_Java多线程顺序执行