SpringBoot中使用com.alibaba.druid.filter.config.ConfigTools对数据库密码加密的方法

SpringBoot中使用com.alibaba.druid.filter.config.ConfigTools对数据库密码加密 1.在本地Maven仓库中打开Powershell2.输入命令,然后点击回车3.将生成公钥和加密的数据库密码配置到SpringBoot项目中的yml配置文件中druid的pom版本 1.在本地Maven仓库中打开Powershell

2.输入命令,然后点击回车

  • scotttiger为未加密的数据库密码
  • privateKey为生成的私钥
  • publicKey为生成的公钥
  • password为加密后的数据库密码
java -cp druid-1.0.18.jar com.alibaba.druid.filter.config.ConfigTools scotttiger

privateKey:MIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEAuWX8VAEeD7j1lsf3P6OCdfNFYcaaMU5I2ht+D2esrzsgh3DypEkyYlB17EqlPfw1VKuwZzXX0BQ+1A6VJ9sFuwIDAQABAkBBxmf+GaNjqpge1XTntAft9s/vv3km8wIvtz9DEeIXDIWFAnVgxkRCHz1qzdnenfLmLlYltSXJ3CVa+g8i8fwxAiEA3R+3mKYbNQIBydmyC2DOLrrlkSURj12XbYmWTTEYiKMCIQDWo8kMRM2xiHp0QAKzHc0V6h/UisjIOK8v7ELm61RoCQIhAIBH2jcQhlAmLetwA75eFr89ZdjibGGDpknBvBRkGxuJAiEAg1P1eIdEn+KUojpkLHoIeOcmkKJWFYPxVM4nZSkKHRkCIGOSxcy/6nABN0v/3xswypZ6u6geszxl6yQq5hgdIH8g
publicKey:MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALll/FQBHg+49ZbH9z+jgnXzRWHGmjFOSNobfg9nrK87IIdw8qRJMmJQdexKpT38NVSrsGc119AUPtQOlSfbBbsCAwEAAQ==
password:N6KokAALNve19HZGUry6kpbEVmNsbeQ+4tJwin1omv0SfUlgnhgjlTjJbIoHmHdfc7DCaay4SGgaWRkzPdZ9VA==

3.将生成公钥和加密的数据库密码配置到SpringBoot项目中的yml配置文件中

  • password处填写生成的加密后数据库密码
  • connectionProperties处填写生成的公钥

druid的pom版本

master:
 datasource:
  url: jdbc:oracle:thin:@127.0.0.1:1521:orcl
  username: scott
  password: N6KokAALNve19HZGUry6kpbEVmNsbeQ+4tJwin1omv0SfUlgnhgjlTjJbIoHmHdfc7DCaay4SGgaWRkzPdZ9VA==
  driverClassName: oracle.jdbc.driver.OracleDriver
  type: com.alibaba.druid.pool.DruidDataSource
  #初始化连接数量,最大最小连接数
  initialSize: 5
  maxActive: 20
  minIdle: 3
  #获取连接等待超时的时间
  maxWait: 600000
  #超过时间限制是否回收
  removeAbandoned: true
  #超过时间限制多长
  removeAbandonedTimeout: 180
  #配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
  timeBetweenEvictionRunsMillis: 600000
  #配置一个连接在池中最小生存的时间,单位是毫秒
  minEvictableIdleTimeMillis: 300000
  #用来检测连接是否有效的sql,要求是一个查询语句
  validationQuery: SELECT 1 FROM DUAL
  #申请连接的时候检测
  testWhileIdle: true
  #申请连接时执行validationQuery检测连接是否有效,配置为true会降低性能
  testOnBorrow: false
  #归还连接时执行validationQuery检测连接是否有效,配置为true会降低性能
  testOnReturn: false
  #打开PSCache,并且指定每个连接上PSCache的大小
  poolPreparedStatements: true
  maxPoolPreparedStatementPerConnectionSize: 50
  #属性类型是字符串,通过别名的方式配置扩展插件,常用的插件有:
  #监控统计用的filter:stat 日志用的filter:log4j 防御SQL注入的filter:wall
  filters: config,stat
  useGlobalDataSourceState: true
  connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000;config.decrypt=true;config.decrypt.key=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALll/FQBHg+49ZbH9z+jgnXzRWHGmjFOSNobfg9nrK87IIdw8qRJMmJQdexKpT38NVSrsGc119AUPtQOlSfbBbsCAwEAAQ==

druid的pom版本

<dependency>
	  <groupId>com.alibaba</groupId>
	  <artifactId>druid</artifactId>
	  <version>1.0.18</version>
</dependency>

到此这篇关于SpringBoot中使用com.alibaba.druid.filter.config.ConfigTools对数据库密码加密的方法的文章就介绍到这了,更多相关SpringBoot数据库密码加密内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Springboot Druid 自定义加密数据库密码的几种方案

    前言 开发过程中,配置的数据库密码通常是明文形式,这样首先第一个安全性不好(相对来说),不符合一个开发规范(如项目中不能出现明文账号密码),其实就是当出现特殊需求时,比如要对非运维人员开方服务器部分权限,但是又涉及项目部署的目录时,容易泄漏数据库密码,虽然一般生产环境中,数据库往往放入内网,访问只能通过内网访问,但是不管怎么说账号密码直接让人知道总归不好,甚至有些项目需要部署到客户环境中,但是可能共用一个公共数据库(数据库只向指定服务器开放外网端口或组建内网环境),这样的情况下,如果数据库密码再

  • jasypt 集成SpringBoot 数据库密码加密操作

    昨天看到一片文章,说是某某旗下酒店数据库因为程序员不小心,把数据库明文密码上传到了GitHub上,导致酒店数据注册资料.入住信息,开房记录被下载倒卖的消息. 作为程序员,开发的时候为了简单,账户明明都设置很简单,基本上数据库密码都是明文的,没做什么操作,至少我待过的公司都是这样,无论是测试环境还是线上环境,想想,这个也是一大安全隐患,在此,趁现在不忙,做些基于springboot的数据库密码加密. 1.pom.xml添加jar包(不同jdk选择不同的版本): <!-- jdk8 版本 整合jas

  • springboot对数据库密码加密的实现

    我是黑帽子K,话不多说直接上加密.如有不对,欢迎指正. 开发的同学们都知道,例如项目依赖的信息,数据库信息一般是保存在配置文件中,而且都是明文,因此需要进行加密处理,今天在这里介绍下jasypt集成springboot加密的配置. 首先,这些都是建立在你的springboot项目是能正常运行的前提下. 第一步:pom文件加入依赖,如图: 这里提供一个版本, <dependency> <groupId>com.github.ulisesbocchio</groupId>

  • SpringBoot配置文件中数据库密码加密两种方案(推荐)

    SpringBoot项目经常将连接数据库的密码明文放在配置文件里,安全性就比较低一些,尤其在一些企业对安全性要求很高,因此我们就考虑如何对密码进行加密. 介绍两种加密方式:jasypt 可加密配置文件中所有属性值; druid 自带了加解密,可对数据库密码进行加密. jasypt 加解密 jasypt 是一个简单易用的加解密Java库,可以快速集成到 Spring 项目中.可以快速集成到 Spring Boot 项目中,并提供了自动配置,使用非常简单. 步骤如下: 1)引入maven依赖 <de

  • SpringBoot项目application.yml文件数据库配置密码加密的方法

    在Spring boot开发中,需要在application.yml文件里配置数据库的连接信息,或者在启动时传入数据库密码,如果不加密,传明文,数据库就直接暴露了,相当于"裸奔"了,因此需要进行加密处理才行. 使用@SpringBootApplication注解启动的项目,只需增加maven依赖 我们对信息加解密是使用这个jar包的: 编写加解密测试类: package cn.linjk.ehome; import org.jasypt.encryption.pbe.StandardP

  • springboot 整合druid数据库密码加密功能的实现代码

    在之前给大家介绍过Springboot Druid 自定义加密数据库密码的几种方案,感兴趣的朋友可以点击查看下,今天通过本文给大家介绍springboot 整合druid数据库密码加密功能,具体内容如下所示: 1.依赖引入 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1

  • Springboot项目对数据库用户名密码实现加密过程解析

    pom.xml文件中引入如下内容 <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>1.16</version> </dependency> 保存pom.xml文件,更新jar 将当前路径切换到jasypt包目录下: 使用如下命

  • SpringBoot中使用com.alibaba.druid.filter.config.ConfigTools对数据库密码加密的方法

    SpringBoot中使用com.alibaba.druid.filter.config.ConfigTools对数据库密码加密 1.在本地Maven仓库中打开Powershell2.输入命令,然后点击回车3.将生成公钥和加密的数据库密码配置到SpringBoot项目中的yml配置文件中druid的pom版本 1.在本地Maven仓库中打开Powershell 2.输入命令,然后点击回车 scotttiger为未加密的数据库密码 privateKey为生成的私钥 publicKey为生成的公钥

  • Springboot2 集成 druid 加密数据库密码的配置方法

    一:环境 springboot 2.x druid 1.1.21 二:druid加密数据库密码 本地下载druid-1.1.21.jar包,运行cmd,输入命令 java -cp jar包路径 com.alibaba.druid.filter.config.ConfigTools 数据库密码 java -cp druid-1.1.21.jar com.alibaba.druid.filter.config.ConfigTools 数据库密码 运行成功输出 privateKey:MIIBVAIBA

  • springboot数据库密码加密的配置方法

    前言 由于系统安全的考虑,配置文件中不能出现明文密码的问题,本文就给大家详细介绍下springboot配置数据库密码加密的方法,下面话不多说了,来一起看看详细的介绍吧 1.导入依赖 <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>2.1.2</

  • SpringBoot配置数据库密码加密的实现

    你在使用 MyBatis 的过程中,是否有想过多个数据源应该如何配置,如何去实现?出于这个好奇心,我在 Druid Wiki 的数据库多数据源中知晓 Spring 提供了对多数据源的支持,基于 Spring 提供的 AbstractRoutingDataSource,可以自己实现数据源的切换. 一.配置动态数据源 下面就如何配置动态数据源提供一个简单的实现: org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource,

随机推荐