admin管理员组文章数量:1578025
数据库密码加密
在生产环境中,直接在配置文件中暴露明文密码是一件非常危险的事情,出于两点考虑:对外,即使应用服务被入侵,数据库还是安全的;对内,生产环境的数据库密码理论上应该只有 dba 知道,但是代码都是在代码仓库中放着的,如果密码没有加密,每次发布前 dba 都需要手动修改配置文件后再进行打包编译。
首先,我们需要生成数据库密码的密文,需要在命令行中执行如下命令:
java -cp druid-1.0.16.jar com.alibaba.druid.filter.config.ConfigTools you_password
这里我们需要将生成的公钥 publicKey 和密码 password 加入配置文件中, application-decrypt.yml 如下:
代码清单:
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
url: jdbc:mysql://192.168.0.128:3306/test?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8&useSSL=false
username: root
# 加密后密文,原密码为 123456
password: Y464AerH8tabxQg5DlkUej6gQ64KY73ahgiPyaB0vguLBLjUEEkVu6VBueiXxcnMfVjh1Nbd+lJNUTnS1a3/xg==
driverClassName: com.mysql.cj.jdbc.Driver
druid:
filter:
config:
enabled: true
connection-properties: config.decrypt=true;config.decrypt.key=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAIddoZ2mbjHu+mG+KYu6IEgBDDnGr5s+wZaPA2MXoqcXmUIZ6154MXNIAEOjkZaHy1rQ5uku2yO8Hw09hBcv9g8CAwEAAQ==
# 剩余配置省略
版权声明:本文标题:Day09 druid 数据库密码加密 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1726165041a1058132.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论