文章目录

  • 通过jvm启动参数使用ConfigFilter
  • 其他读取方式
    • 配置文件从服务器本地读取
    • 配置文件从远程http读取
  • ConfigFilter解密密码

通过jvm启动参数使用ConfigFilter

  1. cmd进入druid包所在目录
  2. 执行命令
java -cp druid-1.0.18.jar com.alibaba.druid.filter.config.ConfigTools  you_password

输出

  • 私钥privateKey:MIIBVgIBADANBgkqhkiG9w0BAQEFAASCAUAwggE8AgEAAkEA6+4avFnQKP+O7bu5YnxWoOZjv3no4aFV558HTPDoXs6EGD0HP7RzzhGPOKmpLQ1BbA5viSht+aDdaxXp6SvtMQIDAQABAkAeQt4fBo4SlCTrDUcMANLDtIlax/I87oqsONOg5M2JS0jNSbZuAXDv7/YEGEtMKuIESBZh7pvVG8FV531/fyOZAiEA+POkE+QwVbUfGyeugR6IGvnt4yeOwkC3bUoATScsN98CIQDynBXC8YngDNwZ62QPX+ONpqCel6g8NO9VKC+ETaS87wIhAKRouxZL38PqfqV/WlZ5ZGd0YS9gA360IK8zbOmHEkO/AiEAsES3iuvzQNYXFL3x9Tm2GzT1fkSx9wx+12BbJcVD7AECIQCD3Tv9S+AgRhQoNcuaSDNluVrL/B/wOmJRLqaOVJLQGg==
  • 公钥publicKey:MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAOvuGrxZ0Cj/ju27uWJ8VqDmY7956OGhVeefB0zw6F7OhBg9Bz+0c84RjzipqS0NQWwOb4kobfmg3WsV6ekr7TECAwEAAQ==
  • 加密后密码
    password:PNak4Yui0+2Ft6JSoKBsgNPl+A033rdLhFw+L0np1o+HDRrCo9VkCuiiXviEMYwUgpHZUFxb2FpE0YmSguuRww==

注意:jar包版本 druid-xxx.jar

  1. 配置数据源填加密后的password
  2. 配置公钥 publickey
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"><property name="url" value="jdbc:derby:memory:spring-test;create=true" /><property name="username" value="sa" /><!--password为生成的 密码--><property name="password" value="${password}" /><property name="filters" value="config" /><!--publickey为生成的 公钥--><property name="connectionProperties" value="config.decrypt=true;config.decrypt.key=${publickey}" />
</bean>

其他读取方式

配置文件从服务器本地读取

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"><property name="filters" value="config" /><property name="connectionProperties" value="config.file=file://home/app/druid-pool.properties" />
</bean>

配置文件从远程http读取

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"><property name="filters" value="config" /><property name="connectionProperties" value="config.file=http://127.0.0.1/druid-pool.properties" />
</bean>

这种方式,在一个应用集群中,多个实例可以读取一个配置,集中配置,集中修改,部署方便。

ConfigFilter解密密码

  1. DruidDataSource的ConnectionProperties中指定config.decrypt=true
  2. 在jvm启动参数中指定-Ddruid.config.decrypt=true

例如

  • spring cloud git 仓库中配置
spring:datasource:url: jdbc:mysql://101.236.17.**:3306/xz_customer?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&allowMultiQueries=trueusername: xz_devpassword: ${password}publicKey: MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAIcDItfWZfY+d4ICQjVp4ZjSJ/YXC0A05w9/6OIIH9Tzv6aIbzykdgLBA530faWtmwwTY04J3hWch3FjPW9S65cCAwEAAQ==
password: HPyGQA7Wz+HWvHXcFXHbfwSb4KeTfPV+8XN8e8tRAd2DYaTV5Z07fAoeRSCqINf1RdkqwxQBFCh22qthAeA9gw==
  • bootrap.yml内druid配置
spring:druid:initialSize: 5minIdle: 5maxActive: 20# 配置获取连接等待超时的时间maxWait: 60000# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒timeBetweenEvictionRunsMillis: 60000# 配置一个连接在池中最小生存的时间,单位是毫秒minEvictableIdleTimeMillis: 300000validationQuery: SELECT 1 FROM DUALtestWhileIdle: truetestOnBorrow: falsetestOnReturn: false# 打开PSCache,并且指定每个连接上PSCache的大小poolPreparedStatements: truemaxPoolPreparedStatementPerConnectionSize: 20# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙filters: stat,log4j,config# 通过connectProperties属性来打开mergeSql功能;慢SQL记录connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000;config.decrypt=true;config.decrypt.key=${publicKey}
  • 用java测试密文解密

德鲁伊druid数据库明文密码加密相关推荐

  1. maven 打包数据库加密_SpringBoot项目application.yml文件数据库配置密码加密的方法...

    在Spring boot开发中,需要在application.yml文件里配置数据库的连接信息,或者在启动时传入数据库密码,如果不加密,传明文,数据库就直接暴露了,相当于"裸奔"了 ...

  2. mysql数据库表添加加密密码_数据库账号密码加密详解及实例

    数据库账号密码加密详解及实例 数据库中经常有对数据库账号密码的加密,但是碰到一个问题,在使用UserService对密码进行加密的时候,spring security 也是需要进行同步配置的,因为sp ...

  3. druid加密mysql_Druid 数据库用户密码加密 代码实现

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

  4. 【Flask项目2】创建模型类映射到数据库,密码加密实现(3)

    用户模型类 comment-models-user.py from comment.models import db from werkzeug.security import generate_pa ...

  5. java web系统明文密码加密传输

    最近项目PL提出系统数据越权和明文密码传输问题,涉及网络安全的问题,这让我一脸懵逼,查阅相关资料后做相关记录 1. 数据越权: 涉及重要功能需要验证用户是否当前用户操作,修改密码功能接口参数用户Id人 ...

  6. 对数据库的密码加密:md5和bcryptjs

    文章问题导向 如何对密码进行加密?哪种方式更加安全? 如果你都有了答案,可以忽略本文章,或去nest学习导图寻找更多答案 密码加密 一般开发中,是不会有人直接将密码明文直接放到数据库当中的.因为这种做 ...

  7. java 明文密码加密解密,明文加密解密处理

    配置文件加密和数据库一些内容的加密存储 背景 在一些项目的设计中,密码等一些重要的东西显然是不能出现在代码和数据库中的.如果出现,这显然是不符合安全规定的.所以我们就需要加密存储和解密取出,这就用了本 ...

  8. SSM数据库账号密码加密

    使用SSM框架开发WEB项目时,数据库的账号密码一般会写在dbconfig.properties里,为了做到保护版权等效果,要对数据库账号密码进行加密,一共有分为三步. 一.创建DESUtil类 提供 ...

  9. 数据库配置文件密码加密

    ConfigFilter的作用包括: 从配置文件中读取配置 从远程http文件中读取配置 为数据库密码提供加密功能 1 配置ConfigFilter 1.1 配置文件从本地文件系统中读取 <be ...

最新文章

  1. python 监控windows磁盘空间和备份大小
  2. [无排版]redis基本数据结构的应用
  3. (转)[Android] 利用 ant 脚本修改项目包名
  4. 查看计算机CPU、内存使用情况
  5. 史上最坑的证书报错解决方法:Code=3000 未找到应用程序的“aps-environment”的权利字符串
  6. ERROR 2384 — [ main] o.s.boot.SpringApplication : Application run failed
  7. PAT 1017 Queueing at Bank[一般]
  8. Ubuntu13.10上android+idea+scala+sbt环境搭建
  9. 顺序表常见操作实现之一
  10. 系统安装教程:Windows7硬盘安装方法详细图文教程及使用工具下载
  11. 剑指offer面试题[4]-空格替换
  12. 使用 Anthem.NET 的常见回调(Callback)处理方式小结
  13. hadoop相关问题-stop-all.sh
  14. 网站克隆:setoolkit社工软件
  15. 鼠标自动点击器linux,鼠标自动点击器PC版下载
  16. 程序员如何高效准备简历和面试06:使用STAR法则表现自己
  17. 阿里云服务器配置好了,为什么访问不了?阿里云安全组放行1433端口设置您知道吗?
  18. 网络口碑推广的策略和实施技巧
  19. python 换脸 github_AI 换脸项目 ALAE 登顶 Github,AI 换脸又升级?
  20. Kubernetes学习笔记——k8s基本概念初探

热门文章

  1. I00023 鸡兔同笼解法二
  2. Java VM(虚拟机) 参数
  3. 开源项目源代码阅读清单
  4. 多元高斯分布的边缘概率和条件概率
  5. 生活中的数学 —— 操场几何学
  6. matlab 格式化输出
  7. 交换排序图解_10大经典排序算法,20+张图就搞定
  8. python 干什么工作具有明显优势-科多大数据告诉你Python为什么这么牛?学习python有什么优势?...
  9. monty python读音-PYTHON – 让quot;Monty 语言”进入自动化行业:第 1 部分
  10. python基础教程自学网-Python基础系统管理学习手册视频教程