Druid密码加密
pom里引用:
- <dependency>
- <groupId>com.alibaba</groupId>
- <artifactId>druid-spring-boot-starter</artifactId>
- <version>1.1.10</version>
- </dependency>
加密解密示例:
- import com.alibaba.druid.filter.config.ConfigTools;
- public class Druid密码加密解密 {
- public static void main(String[] args) throws Exception {
- //第一种加密方法
- //到druid-1.1.10.jar目录下打开cmd窗口,执行以下命令为密码ZHUwen12加密,随后获得公钥public key
- //java -cp druid-1.1.10.jar com.alibaba.druid.filter.config.ConfigTools ZHUwen12
- //第一种解密方法
- String publicKey = "MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALESqBkd/4Kne+NVwVLirUBsXKTYlsOJjgNQ7bcwzbPn0c0Wv6h+KXPHbwkOJiuz6b4H+GBcB+HuELwiTrTB4dsCAwEAAQ==";
- String encryptPassword = "C3Kcc9g8m/xel7VgakJKXFJcCl7IiOc65r0o5hpi0qP4LjQ46s82T1UeRHfwzZfP0QC4GVpv7j3H5YfxckBnqg==";
- String decryptPassword = ConfigTools.decrypt(publicKey, encryptPassword);
- System.out.println("decryptPassword==="+decryptPassword);
- //第二种加密方法
- String pwd = "ZHUwen12";
- String encryptPwd = ConfigTools.encrypt(pwd);
- System.out.println("加密后:"+encryptPwd);
- //第二种解密方法
- String decryptPwd = ConfigTools.decrypt(encryptPwd);
- System.out.println("解密后:"+decryptPwd);
- }
- }
在atomikos里使用密码加密时,解密代码这样写:
- @Primary
- @Bean(name = "dataSource1")
- public DataSource testDataSource(DBConfig1 testConfig) throws SQLException {
- //Atomikos统一管理分布式事务
- AtomikosDataSourceBean xaDataSource = new AtomikosDataSourceBean();
- //用druidXADataSource方式或者上面的Properties方式都可以
- DruidXADataSource druidXADataSource = new DruidXADataSource();
- druidXADataSource.setConnectionProperties("config.decrypt=true;config.decrypt.key="+testConfig.getPublicKey());
- druidXADataSource.setFilters("config,stat");
- druidXADataSource.setUrl(testConfig.getUrl());
- druidXADataSource.setUsername(testConfig.getUsername());
- druidXADataSource.setPassword(testConfig.getPassword());
- xaDataSource.setUniqueResourceName("oracle1");
- xaDataSource.setXaDataSource(druidXADataSource);
- xaDataSource.setXaDataSourceClassName("com.alibaba.druid.pool.xa.DruidXADataSource");
- xaDataSource.setMaxLifetime(testConfig.getMaxLifetime());
- xaDataSource.setMinPoolSize(testConfig.getMinPoolSize());
- xaDataSource.setMaxPoolSize(testConfig.getMaxPoolSize());
- xaDataSource.setBorrowConnectionTimeout(testConfig.getBorrowConnectionTimeout());
- xaDataSource.setLoginTimeout(testConfig.getLoginTimeout());
- xaDataSource.setMaintenanceInterval(testConfig.getMaintenanceInterval());
- xaDataSource.setMaxIdleTime(testConfig.getMaxIdleTime());
- xaDataSource.setTestQuery(testConfig.getTestQuery());
- LOG.info("分布式事物dataSource1实例化成功");
- return xaDataSource;
- }
.
Druid密码加密的更多相关文章
- Druid 数据库用户密码加密 代码实现
druid-1.0.16.jar 阿里巴巴的开源数据连接池 jar包 明文密码+私钥(privateKey)加密=加密密码 加密密码+公钥(publicKey)解密=明文密码 程序代码如下: pack ...
- alibaba/druid 下的 密码加密
使用ConfigFilter cliangch edited this page on 3 Feb · 12 revisions ConfigFilter的作用包括: 从配置文件中读取配置 从远程ht ...
- druid 的应用(密码加密),logback的应用
参考博客:https://github.com/yjmyzz/spring-mybatis-multidatasourcehttp://www.cnblogs.com/dream-to-pku/p/6 ...
- Spring Boot (四): Druid 连接池密码加密与监控
在上一篇文章<Spring Boot (三): ORM 框架 JPA 与连接池 Hikari> 我们介绍了 JPA 与连接池 Hikari 的整合使用,在国内使用比较多的连接池还有一个是阿 ...
- 【Druid】-Druid数据源加密数据库密码配置
1.数据库配置文件添加配置 <property name="filter" value="config"> <property name=&q ...
- Druid实现数据库连接用户密码加密
使用ConfigFilter ConfigFilter的作用包括: 从配置文件中读取配置 从远程http文件中读取配置 为数据库密码提供加密功能 1 配置ConfigFilter 1.1 配置文件从本 ...
- 配置 Druid 数据源及密码加密-SpringBoot 2.7 实战基础
在SpringBoot中配置 Druid 数据源及密码加密的方法 前文集成 MyBatis Plus,实现了一组增删改查接口.在启动服务时,从控制台中可以看出 Spring Boot 默认使用 Hik ...
- SpringBoot使用Druid数据库加密链接完整方案
网上的坑 springboot 使用 Druid 数据库加密链接方案,不建议采用网上的一篇文章<springboot 结合 Druid 加密数据库密码遇到的坑!>介绍的方式来进行加密链接实 ...
- SSM项目的数据库密码加密方案
项目主要采用:SpringMVC4.3.2.RELEASE +Spring4.3.2.RELEASE + Maven 3.3.3 + druid 1.0.29 + Mybatis 3.2.8 + My ...
随机推荐
- 【linux】State : Uninterruptible, pid: 3936
运行centos7中yum命令时提示: Existing lock /var/run/yum.pid: another copy is running as pid 3936.Another app ...
- Mac 安装Python3 facewap环境
参考网上大神的方法 1 官网下载安装 2 下载指定版本的源码cmake安装 3 Mac上使用homebrew进行安装(强烈推荐,主要是前两种的openssl模块我没有搞定链接什么的一直报错,一个个下载 ...
- 3.13 练习题4:邮件发送(smtp)
3.13 练习题4:邮件发送(smtp) 前言本篇总结了QQ邮箱和163邮箱发送邮件,邮件包含html中文和附件,可以发给多个收件人,专治各种不行,总之看完这篇麻麻再也不用担心我的邮件收不到了.以下代 ...
- bis.org
巴塞尔官网包含了很多文档,看起来容易晕,简单说明一下. 首先,文档有几种类型(https://www.bis.org/bcbs/help/publ_types.htm): S: Standards 最 ...
- 如何找出当前活动桌面背景图像的位置/路径(Ubuntu 18.04,GNOME)?
启动终端并运行以下命令 $ gsettings get org.gnome.desktop.background picture-uri 显示当前设置为桌面背景图片的完整路径.
- hive -e执行出现「cannot recognize input near '<EOF>' in select clause」问题
问题现象 写了一个简单的shell脚本调用hive执行组装的sql,在执行时总是报cannot recognize input near '<EOF>' in select clause错 ...
- python基础(七)
一.接口开发 import pymysql def my_db(sql): conn = pymysql.connect( host='118.24.3.40', user='jxz', passwo ...
- NSURLConnectionDataDelegate
#pragma mark-NSURLConnectionDataDelegate //收到回应 - (void)connection:(NSURLConnection *)connection did ...
- js·逻辑运算
|| 遇到第一个为真就返回 && 遇到第一个为假就终止,返回false,如果没遇到就返回最后那一个 5&&4&&2&&1 ==> ...
- 闲记 单元格与单元格之间的边 ///字体属性都是font开头,除了颜色属性 ///文本属性都是text开的,除了设置行高。
这两天一直在做网页没有什么太大的问题,期间也考了一场试,对答案的时候老师讲了一些小知识,因此来记录一下. 单元格与单元格之间的边距(cellspaling) list-type-image可以使用图像 ...