首页 > 其他分享 >Druid passwordcallback失效

Druid passwordcallback失效

时间:2023-06-21 11:34:29浏览次数:43  
标签:加密 String Druid passwordcallback druid 密码 失效 password com

Druid passwordcallback失效

 

springboot利用druid连接池做数据库密码加密

引入依赖

<dependency>

    <groupId>com.alibaba</groupId>

    <artifactId>druid</ artifactId>

    <version>1.1.21</version>

</ dependency> 


配置如下:

spring:

    datasource:

        driverClassName: com.mysql.cj.jdbc.Driver

        url: jdbc:mysql://127.0.0.1:3306/test

        username: root

        druid:

            connectionProperties: password=加密后的密码     #自定义加密方式

            passwordCallbackClassName: com.sgcc.psr.DBPasswordCallback #回调类的路径


回调类DBPasswordCallback 代码如下:

/** *需要继承DruidPasswordCallback 并重写setProperties 方法 **/

public class DBPasswordCallback extends DruidPasswordCallback {

@Override

public void setProperties(Properties properties) {

super.setProperties(properties);

//获取配置文件中加密后的密码,和xml中的connectionProperties属性配置相关

String password = (String) properties.get("password");

try {

//解密过程,ConfigTools为druid自带,提供一些好用的函数

String dbpassword= ConfigTools.decrypt(publicKey,password);

//设置密码

setPassword(dbpassword.toCharArray());

}catch (Exception e){

    e.printStackTrace();

        }

    }

}

启动失败,报错提示密码错误。

猜想是密码解密失败,进入到druid.jar断点调试,发现没有进入druidDatasource中的passwordCallback方法。

解决办法:

换成springboot集成的druid依赖

<dependency>

    <groupId>com.alibaba</groupId>

    <artifactId>druid-spring-boot-starter</ artifactId>

       <version>1.1.21</version>

</ dependency> 

  ©著作权归作者所有,转载或内容

标签:加密,String,Druid,passwordcallback,druid,密码,失效,password,com
From: https://www.cnblogs.com/kelelipeng/p/17495853.html

相关文章

  • druid数据库密码加密
    pom.xml<!--druid配置文件数据库密码加密--><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.2.11</version>......
  • async和await失效处理方法
    1.在方法中需要调用,post请求接口返回的结果后,在继续下一步,发现不生效,原因如下:async和await,这个await只有在他等待的函数返回的是Promise的时候才会生效,所以异步操作必须包含Promise里面。解决方法:不生效时,考虑await的方法是否返回的是Promise,若不是,用Promise包装即可。2.其他......
  • springboot中自定义注解在service方法中,aop失效
    问题描述写了个自定义注解,但是该注解只会出现在serviece层中的方法中。启动发现aop未拦截到问题原因:调用service中的xx()方法时,Spring的动态代理帮我们动态生成了一个代理的对象,暂且叫他$XxxxService。所以调用xx()方法实际上是代理对象$XxxxService调用的。但是在xx()方法内调用同......
  • Vue项目打包部署上线时devServer.proxy代理失效如何解决?使用nginx的proxy_pass 代理跨
    Vue项目打包部署上线时devServer.proxy代理失效如何解决?使用proxy_pass代理跨域转发前言本篇文章用于记录项目前端部署上线遇到的问题,包含对问题的思考、解决思路,以及从中获得的收获。正确的部署流程我也写了一篇文章,供大家参考使用宝塔将Vue2+Nodejs全栈项目打包部署到腾讯云服......
  • 关于vue 使用setInterval定时器关闭失效的问题 原因为事件传播
    /****data.isPlay为显示那个按钮**startHandle开始定时器setInterval**pauseHandle,stopHandle理解为关闭定时器就好了clearInterval**/<viewclass="btn"@click.stop="startHandle"><viewclass="btn-statusbtn-play"><view......
  • MySQL 数据库表字段字符集编码不一致导致隐式转换索引失效案例分析
       有网友咨询,丢过来一段sql语句,说是执行一次耗时10多分钟,让帮忙看看。表数据量在5万左右,数据量不大,首先确认表统计信息都是准确的,查询sql以及执行计划如下:  可以看到嵌套循环join部分全表扫描,缺失索引,应该在join条件列hoist_code、device_code建立索引,但是网友反馈......
  • 数据库连接池-Druid的使用
       packagedruid;/**druid数据连接池**/importcom.alibaba.druid.pool.DruidDataSourceFactory;importjavax.sql.DataSource;importjava.io.FileInputStream;importjava.io.FileReader;importjava.sql.Connection;importjava.util.Properties;p......
  • SpringBoot+druid+dynamic+clickhouse+mysql实现读写分离
    背景:clickhouse+mysql实现读写分离1.配置mysql2.安装clickhouse3.使用可视化工具连接clickhouse4.创建clickhouse的数据库并连接mysql5.SpringBoot+druid+dynamic配置多数据源实现读写分离一.背景由于系统数据量过大,查询条件自定义过多,mysql在查询时响应太慢,所以使用cli......
  • ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效(oracle 锁表)(转载
    1、查看数据库内产生了哪些锁selectt2.username,t2.sid,t2.serial#,t2.logon_timefromv$locked_objectt1,v$sessiont2wheret1.session_id=t2.sidorderbyt2.logon_time;如:   USERNAMESIDSERIAL#LOGON_TIMElurou851241832013/7/3011:44:45知道被锁的用户l......
  • windows复制粘贴功能失效
    1、如果远程复制正在进行,先使用任务管理器,强制结束,将任务管理器面板切换到进程,如下图:找到rdpclip.exe,选中它,然后点击结束进程。(电脑主要依赖该进程进行粘贴)2、键盘上按Win+R组合键,弹出“运行”窗口,输入rdpclip.exe,按回车,重新启动复制粘贴功能,如下图:启动成功后,就可以正常使......