pom里引用:

  1. <dependency>
  2. <groupId>com.alibaba</groupId>
  3. <artifactId>druid-spring-boot-starter</artifactId>
  4. <version>1.1.10</version>
  5. </dependency>

加密解密示例:

  1. import com.alibaba.druid.filter.config.ConfigTools;
  2.  
  3. public class Druid密码加密解密 {
  4.  
  5. public static void main(String[] args) throws Exception {
  6. //第一种加密方法
  7. //到druid-1.1.10.jar目录下打开cmd窗口,执行以下命令为密码ZHUwen12加密,随后获得公钥public key
  8. //java -cp druid-1.1.10.jar com.alibaba.druid.filter.config.ConfigTools ZHUwen12
  9.  
  10. //第一种解密方法
  11. String publicKey = "MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALESqBkd/4Kne+NVwVLirUBsXKTYlsOJjgNQ7bcwzbPn0c0Wv6h+KXPHbwkOJiuz6b4H+GBcB+HuELwiTrTB4dsCAwEAAQ==";
  12. String encryptPassword = "C3Kcc9g8m/xel7VgakJKXFJcCl7IiOc65r0o5hpi0qP4LjQ46s82T1UeRHfwzZfP0QC4GVpv7j3H5YfxckBnqg==";
  13. String decryptPassword = ConfigTools.decrypt(publicKey, encryptPassword);
  14. System.out.println("decryptPassword==="+decryptPassword);
  15.  
  16. //第二种加密方法
  17. String pwd = "ZHUwen12";
  18. String encryptPwd = ConfigTools.encrypt(pwd);
  19. System.out.println("加密后:"+encryptPwd);
  20.  
  21. //第二种解密方法
  22. String decryptPwd = ConfigTools.decrypt(encryptPwd);
  23. System.out.println("解密后:"+decryptPwd);
  24.  
  25. }
  26.  
  27. }

在atomikos里使用密码加密时,解密代码这样写:

  1. @Primary
  2. @Bean(name = "dataSource1")
  3. public DataSource testDataSource(DBConfig1 testConfig) throws SQLException {
  4. //Atomikos统一管理分布式事务
  5. AtomikosDataSourceBean xaDataSource = new AtomikosDataSourceBean();
  6.  
  7. //用druidXADataSource方式或者上面的Properties方式都可以
  8. DruidXADataSource druidXADataSource = new DruidXADataSource();
  9. druidXADataSource.setConnectionProperties("config.decrypt=true;config.decrypt.key="+testConfig.getPublicKey());
  10. druidXADataSource.setFilters("config,stat");
  11. druidXADataSource.setUrl(testConfig.getUrl());
  12. druidXADataSource.setUsername(testConfig.getUsername());
  13. druidXADataSource.setPassword(testConfig.getPassword());
  14.  
  15. xaDataSource.setUniqueResourceName("oracle1");
  16. xaDataSource.setXaDataSource(druidXADataSource);
  17. xaDataSource.setXaDataSourceClassName("com.alibaba.druid.pool.xa.DruidXADataSource");
  18. xaDataSource.setMaxLifetime(testConfig.getMaxLifetime());
  19. xaDataSource.setMinPoolSize(testConfig.getMinPoolSize());
  20. xaDataSource.setMaxPoolSize(testConfig.getMaxPoolSize());
  21. xaDataSource.setBorrowConnectionTimeout(testConfig.getBorrowConnectionTimeout());
  22. xaDataSource.setLoginTimeout(testConfig.getLoginTimeout());
  23. xaDataSource.setMaintenanceInterval(testConfig.getMaintenanceInterval());
  24. xaDataSource.setMaxIdleTime(testConfig.getMaxIdleTime());
  25. xaDataSource.setTestQuery(testConfig.getTestQuery());
  26.  
  27. LOG.info("分布式事物dataSource1实例化成功");
  28. return xaDataSource;
  29. }

.

Druid密码加密的更多相关文章

  1. Druid 数据库用户密码加密 代码实现

    druid-1.0.16.jar 阿里巴巴的开源数据连接池 jar包 明文密码+私钥(privateKey)加密=加密密码 加密密码+公钥(publicKey)解密=明文密码 程序代码如下: pack ...

  2. alibaba/druid 下的 密码加密

    使用ConfigFilter cliangch edited this page on 3 Feb · 12 revisions ConfigFilter的作用包括: 从配置文件中读取配置 从远程ht ...

  3. druid 的应用(密码加密),logback的应用

    参考博客:https://github.com/yjmyzz/spring-mybatis-multidatasourcehttp://www.cnblogs.com/dream-to-pku/p/6 ...

  4. Spring Boot (四): Druid 连接池密码加密与监控

    在上一篇文章<Spring Boot (三): ORM 框架 JPA 与连接池 Hikari> 我们介绍了 JPA 与连接池 Hikari 的整合使用,在国内使用比较多的连接池还有一个是阿 ...

  5. 【Druid】-Druid数据源加密数据库密码配置

    1.数据库配置文件添加配置 <property name="filter" value="config"> <property name=&q ...

  6. Druid实现数据库连接用户密码加密

    使用ConfigFilter ConfigFilter的作用包括: 从配置文件中读取配置 从远程http文件中读取配置 为数据库密码提供加密功能 1 配置ConfigFilter 1.1 配置文件从本 ...

  7. 配置 Druid 数据源及密码加密-SpringBoot 2.7 实战基础

    在SpringBoot中配置 Druid 数据源及密码加密的方法 前文集成 MyBatis Plus,实现了一组增删改查接口.在启动服务时,从控制台中可以看出 Spring Boot 默认使用 Hik ...

  8. SpringBoot使用Druid数据库加密链接完整方案

    网上的坑 springboot 使用 Druid 数据库加密链接方案,不建议采用网上的一篇文章<springboot 结合 Druid 加密数据库密码遇到的坑!>介绍的方式来进行加密链接实 ...

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

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

随机推荐

  1. 【linux】State : Uninterruptible, pid: 3936

    运行centos7中yum命令时提示: Existing lock /var/run/yum.pid: another copy is running as pid 3936.Another app ...

  2. Mac 安装Python3 facewap环境

    参考网上大神的方法 1 官网下载安装 2 下载指定版本的源码cmake安装 3 Mac上使用homebrew进行安装(强烈推荐,主要是前两种的openssl模块我没有搞定链接什么的一直报错,一个个下载 ...

  3. 3.13 练习题4:邮件发送(smtp)

    3.13 练习题4:邮件发送(smtp) 前言本篇总结了QQ邮箱和163邮箱发送邮件,邮件包含html中文和附件,可以发给多个收件人,专治各种不行,总之看完这篇麻麻再也不用担心我的邮件收不到了.以下代 ...

  4. bis.org

    巴塞尔官网包含了很多文档,看起来容易晕,简单说明一下. 首先,文档有几种类型(https://www.bis.org/bcbs/help/publ_types.htm): S: Standards 最 ...

  5. 如何找出当前活动桌面背景图像的位置/路径(Ubuntu 18.04,GNOME)?

    启动终端并运行以下命令 $ gsettings get org.gnome.desktop.background picture-uri 显示当前设置为桌面背景图片的完整路径.  

  6. hive -e执行出现「cannot recognize input near '<EOF>' in select clause」问题

    问题现象 写了一个简单的shell脚本调用hive执行组装的sql,在执行时总是报cannot recognize input near '<EOF>' in select clause错 ...

  7. python基础(七)

    一.接口开发 import pymysql def my_db(sql): conn = pymysql.connect( host='118.24.3.40', user='jxz', passwo ...

  8. NSURLConnectionDataDelegate

    #pragma mark-NSURLConnectionDataDelegate //收到回应 - (void)connection:(NSURLConnection *)connection did ...

  9. js·逻辑运算

    || 遇到第一个为真就返回 && 遇到第一个为假就终止,返回false,如果没遇到就返回最后那一个 5&&4&&2&&1  ==> ...

  10. 闲记 单元格与单元格之间的边 ///字体属性都是font开头,除了颜色属性 ///文本属性都是text开的,除了设置行高。

    这两天一直在做网页没有什么太大的问题,期间也考了一场试,对答案的时候老师讲了一些小知识,因此来记录一下. 单元格与单元格之间的边距(cellspaling) list-type-image可以使用图像 ...