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

最近删库的事情,太多了,个人觉得一个专业的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. c#实战开发:用.net core开发一个简单的Web以太坊钱包 (六)

    今天就来开发一个C# 版的简易钱包 先回顾以前的内容 c#实战开发:以太坊Geth 命令发布智能合约 (五) c#实战开发:以太坊Geth 常用命令 (四) c#实战开发:以太坊钱包快速同步区块和钱包 ...

  2. SQL SERVER 如何判断是不是年,月最后一天

    , SYSDATETIME())) PRINT '不是'; ELSE PRINT '是'; GO , SYSDATETIME())) PRINT '不是'; ELSE PRINT '是'; GO 1. ...

  3. MVC之Ajax异步操作

    在页面的局部通过Html.Action加载一块分布页,我们可以通过Ajax异步去更换或更新这块分布页 通过一个下拉框值发生变化的时候,我们会去从后台重新访问这个action获取一个新的View,然后替 ...

  4. MVC中使用JQuery方式进行异步请求和使用自带方式进行异步请求

    在MCV中使用异步请求可以很很高效地进行前台和后台的数据传递,在这里,笔者为初学者介绍两种在MVC中常用的异步请求处理方式. 在这里,我们通过在一个页面中放置一个按钮来异步获取当前服务器端的系统时间为 ...

  5. inheritPrototypeChain.js

    // 原型链 // 其基本思路是利用原型让一个引用类型继承另一个引用类型的属性和方法 function Person(){ this.name = "Person"; } Pers ...

  6. 一次关于()=>({})的使用

    今天遇到了一个问题,值得一记 首先在我看项目代码时发现了一个问题 有一个JS的export如下 大家可以注意一下config 这里为什么要如此写法呢? 首先这里用的时ES6的箭头函数 ()=>{ ...

  7. 【代码笔记】Web-ionic-Range

    一,效果图. 二,代码. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  8. 自定义控件详解(一):Paint类与Canvas类

    前言: 自定义控件必需的两个类:Paint与Canvas Paint    ---  相当于绘图的"笔" Canvas --- 相当于绘图的"纸" 一.Pain ...

  9. 微信小程序开发--路由切换,页面重定向

    这段时间开发了一个微信小程序,虽然小程序的导航API 官方文档写得很详细,但是在具体开发过程中还是会遇到很多不明白,或者一时转不过弯的地方. 1.页面切换传参,参数读取 1.1  wx.navigat ...

  10. Android--很实用的图片工具类

    import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileNotFoundException; imp ...