代码千万行,安全第一行;密码明文存,同事两行泪 --摘自 技术最前线一遍文章标题 具体内容 点我快速进入

最近又发生了勒索病毒。

中勒索病毒原因:

受攻击的账户密码都是以明文形式存储的。下面这位hacker是不是很帅。

 最近刚弄完一个项目,结果我的数据库配置文件是明文的,被leader看到了 就被骂了一顿。说如果hacker直接拉去了你的配置文件 根本不用破解直接把你数据库数据就给拉走了。我翻了好几个项目貌似都没有加密 直接配置文件就是下面。
一个博客系统的配置文件:

一个app项目的配置文件:

 我的后背感觉一阵凉意。。。。搬了好几年的砖,感觉自己写的代码在裸奔。

翻阅了很多博客我总结了一下SpringBoot的yml文件的数据库密码的配置:

pom文件添加一下依赖:pom文件github地址:https://mvnrepository.com/artifact/com.github.ulisesbocchio/jasypt-spring-boot-starter

 代码如下:
<!-- yml 文件加密 https://mvnrepository.com/artifact/com.github.ulisesbocchio/jasypt-spring-boot-starter --><dependency><groupId>com.github.ulisesbocchio</groupId><artifactId>jasypt-spring-boot-starter</artifactId><version>2.1.0</version></dependency>

直接复制过来一个工具类: 加密: 解密: 第一次执行结果: 第二次执行结果: 。。。。

有木有发现每一次执行的加密的串都不一样。 加密方式:PBEWithMD5AndDES 加密方式解释为:

反正上图我是没看dong。也翻阅了很多资料。工作模式填充模式就把我弄蒙了。不过我现在还在看,你们会的可以给我讲一下。

 代码如下:package cn.cnbuilder.utils;import org.jasypt.encryption.pbe.StandardPBEStringEncryptor;
import org.jasypt.encryption.pbe.config.EnvironmentPBEConfig;
import org.junit.jupiter.api.Test;public class YmlEncryptionUtil {/*** 加密串** @param key 秘钥* @param str 要加密的字符串* @throws Exception*/public static String encryption(String key, String str) throws Exception {StandardPBEStringEncryptor standardPBEStringEncryptor = new StandardPBEStringEncryptor();EnvironmentPBEConfig config = new EnvironmentPBEConfig();//加密算法config.setAlgorithm("PBEWithMD5AndDES");// 加密的密钥config.setPassword(key);standardPBEStringEncryptor.setConfig(config);//加密串String encryptedText = standardPBEStringEncryptor.encrypt(str);return encryptedText;}/*** 解密工具类* @param encryptedStr 要解密的字符串* @param key 秘钥* @throws Exception*/public static  String Decrypt(String encryptedStr, String key) throws Exception {StandardPBEStringEncryptor standardPBEStringEncryptor = new StandardPBEStringEncryptor();EnvironmentPBEConfig config = new EnvironmentPBEConfig();//加密模式config.setAlgorithm("PBEWithMD5AndDES");//加密秘钥config.setPassword(key);standardPBEStringEncryptor.setConfig(config);//密文String str = standardPBEStringEncryptor.decrypt(encryptedStr);return str;}public static void main(String[] args) throws Exception {String encryptedStr = encryption("kingYiFan", "blog:www.cnbuilder.cn");System.out.println(encryptedStr);String str = Decrypt(encryptedStr, "kingYiFan");System.out.println(str);}
}
 把以上工具类直接copy到project中,然后直接拿着数据库的连接方式生成加密串:然后填充到yml文件配置文件中 ENC(密文)

具体如下图:

然后在yml文件中加入key

  代码如下:jasypt:encryptor:password: KingYiFan
        修改完配置文件,重新启动项目就好了。有没有人一种感觉被我搞蒙了。如果这样的话,加密key都有,hacker直接就拿着工具类解密了。
我也有这种感觉。我有一个想法就是在启动jar包的时候用命令给赋key(秘钥)
命令如下(自行测试哈): java -jar jar包名称 --jasypt.encryptor.password: kingYiFan

五一假期第一个工作日:感觉一点精神都没有好累好累。好想睡觉。这个五一练了三天科二,每天早6晚9 感觉整个人都不一样了。迷迷糊糊把这篇文章给写完的。

有什么问题可以联系一下我。

鼓励作者写出更好的技术文档,就请我喝一瓶哇哈哈哈哈哈哈哈。。你们的赞助决定我更新的速度哦!

下一篇文章我给大家分享一下科目二的技巧以及考试要素。

微信:

支付宝:


感谢一路支持我的人。。。。。Love me and hold me
QQ:69673804(16年老号)
EMAIL:itw@tom.com
友链交换
如果有兴趣和本博客交换友链的话,请按照下面的格式在评论区进行评论,我会尽快添加上你的链接。

网站名称:KingYiFan’S Blog
网站地址:http://blog.cnbuilder.cn
网站描述:年少是你未醒的梦话,风华是燃烬的彼岸花。
网站Logo/头像: [头像地址](https://blog.cnbuilder.cn/upload/2018/7/avatar20180720144536200.jpg)

给SpringBoot连接信息上把锁相关推荐

  1. springboot 连接不上 redis 的三种解决方案!

    针对于springboot 连接不上 redis 这种情况,首先,我们最简单直接的方法就是需要确认Redis是否已经正常启动(验证方法:如果安装在Linux下的话可以使用ps-ef|grep redi ...

  2. Springboot连接不上mysql8_springboot连接mysql8.0问题解决

    原配置如下: spring.datasource.url=jdbc:mysql://47.112.103.249:3306/management?useSSL=true&allowMultiQ ...

  3. 客户端(STS)连接服务器上redis时的问题

    [问题] 在本地客户端(STS)跑springboot连接服务器上面的redis时,一直报错连不上,服务器上redis已经关闭了protected-mode,防火墙已经关闭 [原因] 服务器redis ...

  4. springboot实现图片上传到又拍云中,并且保存图片外连接路径到数据库,外连接也可访问图片(一)

    注册又拍云账号,申请一个云存储空间.如果开启服务状态,开启状态把必须要进行实名认证.开启状态之后,自行申请服务即可.申请完成之后,点击配置 进入下个页面不用管,直接点击存储管理. 拉到最下面查看管理员 ...

  5. 荒野行动服务器信息连不上,荒野行动服务器连接不上怎么办_荒野行动服务器连接不上解决方法说明_3DM手游...

    最近有越来越多的小伙伴加入荒野行动这款手游大作中,随意也出现各种游戏问题.其中服务器连接不上正是常见的问题之一,很多小伙伴对此向官方反应过.那么在游戏服务器连接不上有什么解决办法吗?连接不上的原因又是 ...

  6. 超详细:Springboot连接centos7下redis6的必要配置和失败分析

    问题描述: 今天使用springboot的时候,想要整合本地虚拟机上的redis做下测试,却怎么都连不上redis 解决方案: 1.确定你的虚拟机网络已经联网了,如果是租的阿里云百度云一类的ESC服务 ...

  7. springboot连接redis错误 io.lettuce.core.RedisCommandTimeoutException:

    springboot连接redis报错 超时连接不上  可以从以下方面排查 1查看自己的配置文件信息,把超时时间不要设置0毫秒 设置5000毫秒 2redis服务长时间不连接就会休眠,也会连接不上 重 ...

  8. joycon 连不上_switch手柄连接不上ns 连接不上蓝牙手柄硬件等问题解决方案

    switch手柄连接不上ns,相信大家多多少少都会遇到的问题,有时候不仅会出现手柄连接不上,还有一些小问题,比如无法给手柄充电,识别不了游戏卡等等,这些虽说是小问题,但处理起来也是够麻烦的,在这里给大 ...

  9. springboot+人事信息管理系统 毕业设计-附源码221507

    Springboot人事信息管理系统 摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以 ...

最新文章

  1. CORS 跨域-同源策略
  2. android 通知栏按钮,android 通知栏添加按钮点击效果
  3. 桩筏有限元中的弹性板计算_永清县打桩机租赁钢板桩租赁怎么联系?
  4. windows 下oracle 数据库 rman 备份
  5. TCP协议下 Socket 与 ServerSocket
  6. LeetCode 999. 车的可用捕获量
  7. @PropertySource读取properties属性 中文乱码问题
  8. Win10 第三方浏览器无法上网或者上网速度慢 的终极解决方案
  9. 联机侠控制台JAVA_联机侠控制台常见问题 | 我的世界 | MC世界侠
  10. 答题小程序 服务器,开源的基于云开发的在线答题小程序
  11. 2022年G2电站锅炉司炉报名考试及G2电站锅炉司炉考试技巧
  12. 在国内怎么使用谷歌Chrome浏览器,为什么我的谷歌浏览器进去就加载失败
  13. 查找重复姓名的SQL语句
  14. 15_岭回归-Ridge、岭回归API、线性回归和岭回归的对别;逻辑回归、sigmoid函数、逻辑回归公式、损失函数、逻辑回归API、逻辑回归案例、逻辑回归的优缺点、逻辑回归 VS 线性回归等
  15. 小米打开或关闭MIUI9开发者选项
  16. 海外英语杂志海外英语杂志社海外英语编辑部2022年第8期目录
  17. DISTINCT和COUNT的组合使用
  18. 野火F1开发板STM32案例-USART使用
  19. android 布局 注释,安卓布局属性代码中文注解
  20. CYQ.Blog(QBlog) 单用户版本V3.0 发布下载[免费,简洁,高性能,双语言,8套皮肤,4种数据库支持]...

热门文章

  1. 惠普笔记本型号的详细解释
  2. Python安装、断点调试
  3. java数组和标准输入输出
  4. 一文说清文本编码那些事
  5. Mysql中update select更新数据,insert ignore into
  6. 微信小程序订阅消息点了 “总保持以上选择、全部拒绝,不在询问” 无法再次弹出
  7. JavaScript--秒表
  8. 万彩动画大师的JAVA安装不了_【动画视频制作软件】万彩动画大师教程 | 安装万彩动画大师...
  9. 对“点餐系统”的阅读、分析与运行
  10. python Zipfile extractall解压文件会丢失链接信息