序言:

在日常工作中,经常使用数据库明文密码放在配置文件中,java打的包很容易就会被例如360的一些压缩软件解析出来,导致数据库泄露。在此情况下选择使用druid自带的加密机制来对明文密码进行加密处理

1. 引入druid

        <!--  alibaba  druid --><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.9</version></dependency>

2. 密码加密工具

可以使用cmd进行操作,这里不做详细介绍

注意了,这里的公钥是解密,私钥是加密,和rsa加密相反

import com.alibaba.druid.filter.config.ConfigTools;
/*** 德鲁伊数据连接池数据库密码加密工具** @author king* @date 2022-03-08*/
public class DruidUtil {public static void main(String[] args) throws Exception {// 密码明文String password = "123456";System.out.println("password " + password);String [] keyPair = ConfigTools.genKeyPair(512);// 私钥String privateKey = keyPair[0];// 公钥String publicKey = keyPair[1];// 用私钥加密后的密文password = ConfigTools.encrypt(PRIVATE_KEY, password);System.out.println("privateKey:"+PRIVATE_KEY);System.out.println("publicKey:"+PUBLIC_KEY);// 密文System.out.println("ciphertext:"+password);String decryptPassword = ConfigTools.decrypt(PUBLIC_KEY, password);// 原密码System.out.println("originalPassword" + decryptPassword);}}

运行后的到的就是我们需要的公钥,私钥,密文

3. 配置文件

配置文件中不需要显示公钥,由${cloud.config.key}代替

在大部分博客以及度娘里,都把publicKey直接放在这里,这和皇帝的新衣有什么区别

#整体配置
cloud:config:url: jdbc:mysql://127.0.0.1:3306/work?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMultiQueries=true&serverTimezone=UTCpassword: RpVa40F4UTcL5E3xPA8dOguuOJxb5LdvEFlj1nsOfkD7KNiwT9BTpHFUcAI7J1iw==
spring:application:name: server-staredatasource:type: com.alibaba.druid.pool.DruidDataSourcedruid:url: ${cloud.config.url}username: rootpassword: ${cloud.config.password}#这里配置的是sql可合并、执行允许最大延时、可加密、加密keyconnectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000;config.decrypt=true;config.decrypt.key=${cloud.config.key} #加密

配置启动项

这里用的是idea

// 你自己的公钥
--cloud.config.key=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJE1uhesdQeAryXchQlZaMCb+jucaoSTFgY/UaWIdY9mRrn6hdahUL1NPSJjyTK5dv5ZUqjGe8+0CAwEAAQ==

将公钥放在启动项的program arguments里就可以啦

打包后启动

java -jar startApplication.0.0.1.jar --cloud.config.key='你的公钥'

看到这里是不是就熟悉了,和你使用的 --server.port=8080是不是一毛一样

最后

tomcat这里没研究,不做赘述。
在你写脚本文件启动项目的时候,不要在包旁直接放置脚本好吗

druid加密数据库密码相关推荐

  1. 集成druid实现数据库密码加密功能

    数据库密码直接写在配置中,对运维安全来说,是一个很大的挑战.可以使用Druid为此提供一种数据库密码加密的手段ConfigFilter. 目录 1.执行命令加密数据库密码 2.配置数据源,提示Drui ...

  2. SpringBoot集成Druid和数据库密码加密

    Druid是阿里开发的数据库连接池,通过简单的配置,可以实现数据库的连接,性能特别强大,可以在页面访问,包括监控数据库性能参数,慢SQL统计,当然还包括数据库连接等. 今天主要记录一下SpringBo ...

  3. boot数据加解密 spring_springboot项目使用druid对数据库密码的加解密

    作为一名有经验的开发人员,是不习惯将明文直接放在代码中,总觉得有隐患.今天搭建了一个springboot项目,需要集成数据库,调取数据. 在配置 datasource的时候,想要将密码改为密文,连接数 ...

  4. SpringBoot项目加密数据库密码

    真实的项目开发中,数据库的密码不可能以明文方式写在配置文件中,一般都是经过加密的: 今天,主要介绍用Driver来对数据库的密码进行加密. alibaba druid加解密规则: 明文密码+私钥(pr ...

  5. Delphi如何使用HooKAPI的方式获取SQLITE加密数据库密码

    破解原理:加密过的SQLITE数据库,调用sqlite3_open函数后,会调用sqlite3_key函数进行密码设置,此时通过Hook sqlite3.dll中sqlite3_key函数获取数据库密 ...

  6. druid ssh加密 java mysql_springboot 整合druid数据库密码加密功能的实现代码

    在之前给大家介绍过Springboot Druid 自定义加密数据库密码的几种方案,感兴趣的朋友可以点击查看下,今天通过本文给大家介绍springboot 整合druid数据库密码加密功能,具体内容如 ...

  7. druid连接池配置数据库密码加密

    druid配置数据库密码加密后,可以把密码放在配置文件里,或本地其他文件.远程服务器等三种地方,这里只讲第一种方法. 1.密码加密:cd到druid包所在文件夹打开命令行,输入 java -cp dr ...

  8. SSM项目的数据库密码加密方案

    项目主要采用:SpringMVC4.3.2.RELEASE +Spring4.3.2.RELEASE + Maven 3.3.3 + druid 1.0.29 + Mybatis 3.2.8 + My ...

  9. druid jar包_使用druid实现Spring boot配置文件中数据库密码密文存储

    通常在编写代码的时候,数据库的用户名和密码以明文的方法写到配置文件中,系统运维为了保证一定的安全性,要求我们在配置文件中使用密文的方式存储,本文主要介绍使用druid实现数据库密码密文显示的方法. 一 ...

  10. 使用durid的ConfigFilter对数据库密码加密

    原文连接:http://blog.csdn.net/aixiaoyang168/article/details/49930513 ----------------------------------- ...

最新文章

  1. 清华北大浙大大学开放课程
  2. eclipse+maven+jetty环境下修改了文件需要重启才能修改成功
  3. C# WinForm基础
  4. Servlet学习-request
  5. 裸奔浏览器_大概是最好用的隐私浏览器 - Firefox Focus
  6. mysql存储引擎的方式_Mysql转换表存储引擎的三种方式
  7. C++中结构体和类的区别和联系
  8. 2021“鲜美生活”新趋势:中国食品行业白皮书
  9. 精通 R plot—第1部分:颜色,图例和线
  10. java:Eclipse插件springsource-tool-suite的下载和安装
  11. BootStrap里面好看的背景色
  12. C++算法学习(力扣:1269. 停在原地的方案数)
  13. SVN报错之Failed to run the WC DB work queue associated with...的处理方法
  14. PS——字体斜阴影效果
  15. 【prince2考试扫盲】Prince2 跟 pmp 有什么区别?项目经理考哪一个?详细解答来了
  16. 移动硬盘linux系统安装win7系统,超简单的移动硬盘安装系统win7教程
  17. 数字内容产业的产业链结构
  18. 腾达路由器电信宽带服务器无响应,腾达路由器连接上但上不了网怎么办 腾达路由器上不了网原因及解决办法【图文】...
  19. 专升本英语——菜鸟学习笔记【知识点齐全-轻松学习】!!!
  20. Windows 10配置网络代理服务器

热门文章

  1. matlab分簇教程,分簇算法matlab
  2. 一款轻量的支付宝支付组件
  3. SQL Server 2008 Express 安装配置详细教程(附详细截图)
  4. 使用Scala实现Either数据结构
  5. ES拼音中文智能提示suggest
  6. [BZOJ2109]Plane 航空管制
  7. DuerOS 走进初夏的成都
  8. linux chmod 777 dev,ubuntu – 撤消chmod 777
  9. 旷视科技完成4.6亿美元C轮融资,再破AI融资记录 | 聚焦
  10. 「转录组」WGCNA实战原理两不误