springboot druid数据库密码加密

匿名 (未验证) 提交于 2019-12-02 23:51:01

pom.xml引入jar

        <dependency>             <groupId>com.alibaba</groupId>             <artifactId>druid-spring-boot-starter</artifactId>             <version>1.1.14</version>         </dependency> 

生成加密密码

输入命令

java -cp D:\Repositories\ricet\com\alibaba\druid\1.1.14\druid-1.1.14.jar com.alibaba.druid.filter.config.ConfigTools 123456 



其中:publicKey 为公钥 , password为加密后密码,privateKey为私钥

配置数据库文件

# 数据源配置 spring:     datasource:         type: com.alibaba.druid.pool.DruidDataSource         driverClassName: com.mysql.cj.jdbc.Driver         druid:             # 主库数据源             master:                 url: jdbc:mysql://dbmast.confedu.com:3306/da_edu_springboss?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8                 username: root                 password: D/PR8jte+cXJVj74bavRpkqWbH/d1f/NlYliAyTafXDk5f8qKW7ITPdXskJ8Y3wz8zIM4on3zw+rCXD+C02KFQ==                 connect-properties:                   config.decrypt: true                   config.decrypt.key: MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAIeliL/0EAtp/R9ow+LXx59I4PpWjlYCG6jyf7SAoagdscRCBSi916x9Vg6zbOMKWH8ZtvdNE54Lj8xm1T2E/yECAwEAAQ==             # 从库数据源             slave:                 # 从数据源开关/默认关闭                 enabled: false                 url:                 username:                 password:             # 初始连接数             initialSize: 5             # 最小连接池数量             minIdle: 10             # 最大连接池数量             maxActive: 20             # 配置获取连接等待超时的时间             maxWait: 60000             # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒             timeBetweenEvictionRunsMillis: 60000             # 配置一个连接在池中最小生存的时间,单位是毫秒             minEvictableIdleTimeMillis: 300000             # 配置一个连接在池中最大生存的时间,单位是毫秒             maxEvictableIdleTimeMillis: 900000             # 配置检测连接是否有效             validationQuery: SELECT 1 FROM DUAL             testWhileIdle: true             testOnBorrow: false             testOnReturn: false             webStatFilter:                 enabled: true             statViewServlet:                 enabled: true                 # 设置白名单,不填则允许所有访问                 allow:                 url-pattern: /monitor/druid/*             filter:                 stat:                     enabled: true                     # 慢SQL记录                     log-slow-sql: true                     slow-sql-millis: 1000                     merge-sql: true                 wall:                     config:                         multi-statement-allow: true                 #数据库过滤器                 config:                   enabled: true 

工具类

package com.ruoyi.common.utils;  import com.alibaba.druid.filter.config.ConfigTools;  /**  * @author: dongao  * @create: 2019/7/22  * 数据库密码加密工具类  */ public class DataSourcePasswordUtils {      /**      * 加密      * @param cipherText      * @return      * @throws Exception      */     public static String encrypt(String cipherText) throws Exception {         String encrypt = ConfigTools.encrypt(cipherText);         return encrypt;     }      /**      * 解密      * @param cipherText      * @return      * @throws Exception      */     public static String decrypt(String cipherText) throws Exception {         String decrypt = ConfigTools.decrypt(cipherText);         return decrypt;     }      public static void main(String[] args) throws Exception {         String password = "123456";         String encrypt = encrypt(password);         System.out.println(encrypt);         String decrypt = decrypt(encrypt);         System.out.println(decrypt);      } }  
文章来源: https://blog.csdn.net/csdn565973850/article/details/96997262
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!