至于为什么加密,主要防止一些过多人知道数据库密码,可能造成公司的损失,同时也避免一些潜在的危害,因此,数据库密码最好还是只有几个人知道,太多人知道的话,影响不好。

最近删库的事情,太多了,个人觉得一个专业的DBA或者是优秀的管理是可以避免此类现象的发生。

请严格按照如下步骤走,这样会减少不必要的报错。

步骤一:

java -cp C:\Users\test\.m2\repository\com\alibaba\druid\1.0.18\druid-1.0.18.jar com.alibaba.druid.filter.config.ConfigTools test1234

输出结果如下:
privateKey:MIIBUwIBADANBgkqhkiG9w0BAQEFAASCAT0wggE5AgEAAkEA0nT/i1VshEcfOh+OvN1SxcWJTKz1tD2kdvpzD1LYX6ybQ3d7AXl2R51GW1V7Il/j/Y0rhuskijMQ9+XuMRKKiwIDAQABAkAJ7eMwm7Mm+oQKpfqCBp8lHZDAwVhGTLI5us865dm3icM81HWdgS27nvSt9Rg83YJCxFmyeEN7RrAhC1V5VTJBAiEA/XL1JfX8EB4JmQU+bup5UEKzv2uxGvDmVfrD5pmH4dMCIQDUk0QzGilX2wflOsle2bOl6/qAZ+XBxX9zJT/1Um+JaQIgDvxUGGmB/OX5xU11EpPUlnVLMX9JmoEx7VWFbcYYLbcCIA6W9O1U9FV1UPtop319D5lpss2xU9GSzoaGnfcma0VRAiB5eYr6QgRPFWsYc1a+ZNu1f8cClK60ijVy7ohcJH1R4w==
publicKey:MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANJ0/4tVbIRHHzofjrzdUsXFiUys9bQ9pHb6cw9S2F+sm0N3ewF5dkedRltVeyJf4/2NK4brJIozEPfl7jESiosCAwEAAQ==
password:Fanpc9x6AfcsQs16mwxwQPG36aq+PBnzKKJlmpQXyJ+PGlIAU5it1vrZqXSdpV5mb+U1z6K+aw+khUQhdVf1uQ==

步骤二:
jdbc.properties配置
validationQuery=SELECT 1
jdbc_url=jdbc:mysql://www.yctech.com/test?useUnicode=true&characterEncoding=utf8&useSSL=false
jdbc_username=test
jdbc_password=Fanpc9x6AfcsQs16mwxwQPG36aq+PBnzKKJlmpQXyJ+PGlIAU5it1vrZqXSdpV5mb+U1z6K+aw+khUQhdVf1uQ==
jdbc_mysql_publicKey=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANJ0/4tVbIRHHzofjrzdUsXFiUys9bQ9pHb6cw9S2F+sm0N3ewF5dkedRltVeyJf4/2NK4brJIozEPfl7jESiosCAwEAAQ==

步骤三:

请严格按照如下配置,不然可能会出现失败,比如密码错误之类的。

数据源配置:

<!-- 配置数据源 -->
<bean name="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<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="initialSize" value="0"/>
<!-- 连接池最大使用连接数量 -->
<property name="maxActive" value="20"/>
<!-- 连接池最大空闲 -->
<property name="maxIdle" value="20"/>
<!-- 连接池最小空闲 -->
<property name="minIdle" value="0"/>
<!-- 获取连接最大等待时间 -->
<property name="maxWait" value="60000"/> <property name="validationQuery" value="${validationQuery}"/>
<property name="testOnBorrow" value="false"/>
<property name="testOnReturn" value="false"/>
<property name="testWhileIdle" value="true"/> <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
<property name="timeBetweenEvictionRunsMillis" value="60000"/>
<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
<property name="minEvictableIdleTimeMillis" value="25200000"/> <!-- 打开removeAbandoned功能 -->
<property name="removeAbandoned" value="true"/>
<!-- 1800秒,也就是30分钟 -->
<property name="removeAbandonedTimeout" value="1800"/>
<!-- 关闭abanded连接时输出错误日志 -->
<property name="logAbandoned" value="true"/>
<property name="connectionProperties" value="config.decrypt=true;config.decrypt.key=${jdbc_mysql_publicKey}" />
</bean>

Druid加密的更多相关文章

  1. 数据库,使用Druid 加密数据库密码

    首先我们得下载一个druid-1.0.16.jar的包 其次键入命令 java -cp druid-1.0.16.jar com.alibaba.druid.filter.config.ConfigT ...

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

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

  3. SpringBoot之加密

    最近利用闲暇时间写了一个博客系统,主要参考wordpress,主要目的是为了提高自己的技术能力.写代码写了两年多,联系到之前在学校的时候写过的一个博客系统,发现工作中开发的系统,技术上基本一致,业务逻 ...

  4. Druid连接池(四)

    十七.Druid加密 运维和DBA都不希望把密码明文直接写在配置文件中,Druid提供了数据库密码加密的功能. ConfigFilter的作用包括: 从配置文件中读取配置 从远程http文件中读取配置 ...

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

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

  6. mysql 利用druid 为访问密码加密

    在原来数据库配置文件jdbc.properties 文件中增加几行加密文件 jdbc.username=rootjdbc.password=KqYkfcQkQOdOpCnaokLfb9Kbzdf+NG ...

  7. alibaba/druid 下的 密码加密

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

  8. Druid密码加密

    pom里引用: <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring ...

  9. Druid数据源对数据库访问密码加密好麻烦

    开发中,druid数据源对数据库密码进行了加密,每次切换数据库或者修改密码后,感觉很麻烦. 解决办法: 1.用工具类中的Java代码进行加解密. 需要用到com.alibaba.druid.filte ...

随机推荐

  1. Centos7下开启80端口

    firewall-cmd --zone=/tcp --permanent 命令含义:   --zone #作用域   --add-port=80/tcp  #添加端口,格式为:端口/通讯协议   -- ...

  2. 《深入理解Java虚拟机:JVM高级特性与最佳实践》读书笔记

    第一部分 走进Java 一.走进Java 1.概述 java广泛应用于嵌入式系统.移动终端.企业服务器.大型机等各种场合,摆脱了硬件平台的束缚,实现了“一次编写,到处运行”的理想 2.java技术体系 ...

  3. 了解java虚拟机—G1回收器(9)

    G1(Garbage-First)回收器是在JDK1.7中正式使用的全新垃圾回收器,G1拥有独特的垃圾回收策略,从分代上看,G1依然属于分代垃圾回收器,它会区分年代和老年代,依然有eden和survi ...

  4. pom.xml复制过来的代码报错-Maven expected START_TAG or END_TAG not TEXT (positionTEXT se

    场景 编译器:IDEA 在网上看一些小实例,跟着做的时候会复制pom.xml文件的代码来加载依赖包.首先需要确定你复制过来的代码本身是没有错的,在复制一些pom.xml文件代码时,有时候会报错.原因是 ...

  5. 【读书笔记】iOS-发布你的应用

    一,添加图标 你的应用在iPhone主屏幕上的标准图标(Icon.png)是57像素*57像素的正方形,PNG格式,不能有透明效果或者图层,72DPI.除些之外,你还可以提供一个同样格式的114像素* ...

  6. Bootstrap里的文件分别代表什么意思及其引用方法

    关于Bootstrap打包的文件分别代表什么意思,官网也没有给出一个明确的解释,在网上查了一些资料,总价归纳了如下: bootstrap/ <!--主目录--> ├── css/ < ...

  7. Oracle 11g数据库详细安装过程

    1.Oracle 11g下载 官方网址为:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.h ...

  8. Android中处理崩溃闪退错误

    Android中处理崩溃闪退异常 大家都知道,现在安装Android系统的手机版本和设备千差万别,在模拟器上运行良好的程序安装到某款手机上说不定就出现崩溃的现象,开发者个人不可能购买所有设备逐个调试, ...

  9. gitlab-ci的注意点

    在使用gitlab搭配gitlab-runner进行ci配置时,发现两个问题,略记如下备忘: 1. 若发现ci job控制台显示无法下载该项目,但当前提交代码人和ci用户都确实具备该项目的访问权限时, ...

  10. EntityFramework Code-First 简易教程(四)-------继承策略

    在前篇CodeFirst类型约定中,我们在数据库中为每一个模型类创建一个表,但是有个问题,我们可以设计出带继承关系的模型类,即面向对象编程既有“has a”(表示类继承)也有“is a”(表示类包含) ...