阿里druid数据源配置及数据库密码加密

摘要:
beaninit method=“init”destroy method=“close”>您只需修改initialSize、minIdle、maxActive-->propertyname=“maxWait”value=“5000”/>propertyname=“timeBetweenDeviceRunsMillis”value=“60000”/><&书信电报;

注意:

1、阿里默认只对用户密码解密
2、druid 1.0.16版本及以上的解密时需要同时配置publicKey

一.生成密文密码

1 前提:已经配置了jdk环境

1、生成密文密码需要准备druid的jar包.然后通过命令行生成,如下步骤:

1.1准备jar包

1、(示例使用 druid-0.2.23.jar),放到某目录下,且打开命令窗口(win用户可以在目录的空白处 shift+鼠标右键 打开命令窗口);

阿里druid数据源配置及数据库密码加密第1张

1.2.输入命令:

java -cp druid-0.2.23.jar com.alibaba.druid.filter.config.ConfigTools you_password

我要加密的密码是:123456pwd

注意:druid 1.0.16之前

java -cp druid-0.2.23.jar com.alibaba.druid.filter.config.ConfigTools 123456pwd  

阿里druid数据源配置及数据库密码加密第2张

注意:druid 1.0.16及以后

java -cp druid-1.1.9.jar com.alibaba.druid.filter.config.ConfigTools 123456pwd >aaa.txt 

阿里druid数据源配置及数据库密码加密第3张

二、dataSource配置 注意:druid 1.0.16之前

1.1jdbc.properties

## JDBC set
jdbc.url=jdbc:mysql://localhost:3306/edu_demo?useUnicode=true&characterEncoding=utf-8
jdbc.username=root
jdbc.password=Obsbr4gd1oVyYr+k4KQdUMNYgKMWdDibsNJTabnph+yPmxjc6tUrT1GNsPDqa9ZvTF9QvaRD86H+Zn/H+yz2jA==

1.2dataSource配置

复制代码
<!-- 基于Druid数据库链接池的数据源配置 -->
<bean     init-method="init" destroy-method="close">
    <!-- 基本属性driverClassName、 url、user、password -->
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="${jdbc.url}" />
    <property name="username" value="${jdbc.username}" />
    <property name="password" value="${jdbc.password}" />
    <!-- 配置初始化大小、最小、最大 -->
    <!-- 通常来说,只需要修改initialSize、minIdle、maxActive -->
    <property name="initialSize" value="2" />
    <property name="minIdle" value="2" />
    <property name="maxActive" value="30" />
    <property name="testWhileIdle" value="false" />
    <!-- 配置获取连接等待超时的时间 -->
    <property name="maxWait" value="5000" />
    <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
    <property name="minEvictableIdleTimeMillis" value="30000" />
    <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
    <property name="timeBetweenEvictionRunsMillis" value="60000" />
    <!-- 解密密码必须要配置的项 -->
    <property name="filters" value="config" />
    <property name="connectionProperties" value="config.decrypt=true" />
</bean>
复制代码

注意:druid 1.0.16及以后

2.1jdbc.properties

## JDBC set
jdbc.url=jdbc:mysql://localhost:3306/edu_demo?useUnicode=true&characterEncoding=utf-8
jdbc.username=root
jdbc.password=Obsbr4gd1oVyYr+k4KQdUMNYgKMWdDibsNJTabnph+yPmxjc6tUrT1GNsPDqa9ZvTF9QvaRD86H+Zn/H+yz2jA==
jdbc.publickey = MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKHGwq7q2RmwuRgKxBypQHw0mYu4BQZ3eMsTrdK8E6igRcxsobUC7uT0SoxIjl1WveWniCASejoQtn/BY6hVKWsCAwEAAQ==

2.2dataSource配置

复制代码
<!-- 基于Druid数据库链接池的数据源配置 -->
<bean     init-method="init" destroy-method="close">
    <!-- 基本属性driverClassName、 url、user、password -->
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="${jdbc.url}" />
    <property name="username" value="${jdbc.username}" />
    <property name="password" value="${jdbc.password}" />
    <!-- 解密密码必须要配置的项 -->
    <property name="filters" value="config" />
    <property name="connectionProperties" value="config.decrypt=true;config.decrypt.key=${jdbc.publickey}" />
    <!-- 配置初始化大小、最小、最大 -->
    <!-- 通常来说,只需要修改initialSize、minIdle、maxActive -->
    <property name="initialSize" value="2" />
    <property name="minIdle" value="2" />
    <property name="maxActive" value="30" />
    <property name="testWhileIdle" value="false" />
    <!-- 配置获取连接等待超时的时间 -->
    <property name="maxWait" value="5000" />
    <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
    <property name="minEvictableIdleTimeMillis" value="30000" />
    <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
    <property name="timeBetweenEvictionRunsMillis" value="60000" />
</bean>
复制代码
有帮助的点个赞哦~
 
  • 相关阅读:
    POJ 1185 炮兵阵地 经典的 状态压缩dp
    hdu 1565 方格取数(1) 状态压缩dp
    poj Corn Fields 状态压缩dp。
    fzu 2138 久违的月赛之一 容斥。
    fzu 2136 取糖果 好几种方法解决。
    hdu 1231 最大连续子序列
    选择排序
    SharedPrefernces使用实例讲解
    SharedPrefernces使用实例讲解
    可以ping通,但是不能connect
  • 原文地址:https://www.cnblogs.com/javalinux/p/15214908.html
  • 免责声明:文章转载自《阿里druid数据源配置及数据库密码加密》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

    上篇Centos7搭建Confluence破解版如何加速golang写业务的开发速度下篇

    宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

    相关文章

    在WPF中集成OpenTK

    OpenGL是针对Windows Forms开发,下面是在WPF环境下的集成方法。 (P.S. 如果只在windows下使用,其实WPF 3D或DirectX是更好的选择)。 1.新建一个WPF项目。 2.添加以下references到项目中: System.Windows.Forms WindowsFormsIntegration OpenTK Open...

    rbac之 权限粒度控制到按钮级别

    rbac之 权限粒度控制到按钮级别:  这里的意思就是 如果当前用户,没有这个权限。 那么这个相对应的这个按钮的权限, 就不应该展示。看都不能给看到。 思路:  为每一个权限,设置一个别名。  这里是这的别名。 要与 路由控制器中的,每条路径的 别名保持一直  模板中每一个按钮标签的位置,进行 if 判断。 判断这个别名是否在当前用户的,权限字典中。 如果...

    php 密码加密(password_hash)

    写这篇文章的原因: 由于快速的散列算法,所以不推荐使用md5这个函数获得密码。 password_hash()使用了一个强的哈希算法,来产生足够强的盐值,并且会自动进行合适的轮次。password_hash()是crypt()的一个简单封装,并且完全与现有的密码哈希兼容。所以推荐使用password_hash()。 创建密码的哈希 string pas...

    table固定首行(一)

    <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> </head> <script>...

    React Native 自定义单选功能

    项目中我们经常会遇到单选的功能,有很多第三方库也有类似功能,譬如Ant Design Mobile RN库中的Radio, 但是这些样式是固定的,当我们需要自定义单选图标,完全自定义时,就需要我们自己实现了。 下面简述下自定义单选的功能, 本质是为每条数据绑定一个选中标记sel,然后通过该标记来实现单选 效果如图: 话不多说,直接上代码 state =...

    ArcGIS API for JavaScript 4.3 与ArcGIS Server联动使用【地图服务】

    【前言】 有好些网友问我怎么使用Server发布的地图服务了,其实非常的简单。 我在这里先声明:不提供Server软件,需要的请自行使用互联网搜索资源; 不阐述Server如何发布各各种服务,但是我会给出官方的文档(点我),发布服务其实各种老教程都很多了。 【软件准备】 ·Windows 64位以上的系统,XP可以歇菜了,Server是64位原生软件...