zoukankan      html  css  js  c++  java
  • Druid数据库密码加密

    背景

    数据库密码直接写在配置中,对安全来说,是一个很大的挑战。Druid为此提供一种数据库密码加密的手段ConfigFilter。

    druid版本为1.1.18。


     加密

    1.项目中引入依赖

    <dependency>   
      <groupId>com.alibaba</groupId>
      <artifactId>druid-spring-boot-starter</artifactId>   
      <version>1.1.18</version>
    </dependency>

    2.打开cmd命令窗口,进入druid的jar所在位置

    3.执行命令

    java -cp druid-1.1.18.jar com.alibaba.druid.filter.config.ConfigTools 数据库密码 

    4.配置数据源,Druid数据源需要对数据库密码进行解密

    <bean id="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="connectionProperties" value="config.decrypt=true;config.decrypt.key=${jdbc.publickey}" />
    </bean>

    5.application.properties配置数据库连接属性

    # Spring Datasource Settings
    jdbc.type=mysql jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false jdbc.username=root jdbc.password=fy5sM+1Vo/2NZAN9RxmLVIsq/44Yil69T3Ut371h5AvGvnIUSyf6A7TKrrtkaUMa5Yp/VH+kwic+PF3UhWODyA== jdbc.publickey=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAI7sCmm9z5XNGH4tBYtD01Zz3gbdmcNCkrN5RBkV3iBNiHkyBYeQ/ew3Ca2576TvTlxW+iDt1qZSKGZdqEb0cg8CAwEAAQ== # pool settings jdbc.pool.init=1 jdbc.pool.minIdle=3 jdbc.pool.maxActive=20 jdbc.testSql=SELECT 'x'
  • 相关阅读:
    Android创建上下文(appContext)
    java泛型——同一类型
    (转)cglib介绍与原理——CallBackFilter、延迟加载
    cglib常用api
    ES6——Proxy实现Web服务,进行方法拦截,通过方法名称生成网址
    day4幸运抽奖系统更新
    day7_abstractClass_interface
    day6_inheritance_polymorphis
    day5_package
    day4_class_method_array
  • 原文地址:https://www.cnblogs.com/lwcode6/p/12121427.html
Copyright © 2011-2022 走看看