Spring cloud config 配置文件加密方式
程序员文章站
2023-12-17 00:00:58
前言
我们会使用git来保存我们项目的配置文件,但是文件中总有一些敏感数据,对于这些敏感数据我们通常需要给它加密,加密通常有两种加密方式,一种是对称加密,一种是非对称加密...
前言
我们会使用git来保存我们项目的配置文件,但是文件中总有一些敏感数据,对于这些敏感数据我们通常需要给它加密,加密通常有两种加密方式,一种是对称加密,一种是非对称加密,对称加密简单方便,但是安全性没有非对称加密高,非对称加密需要生成证书,安全性比较高。但是请记住没有绝对的安全。
配置环境
java8 jce
config server 的加密解密需要依赖与java cryptography extension (jce)
安装方式:可以参考里面的readme,其实也很简单:把jdk下面 /jre/lib/security
目录下面的两个jar替换了。
config server 配置
对称加密配置测试
在application.yml 中配置
encrypt:
key:'***这里写密钥***'
测试 post
加密:
curl http://localhsot:8080/enrypt -d mysercet
结果会出来一长串 fdasfa2341sdfa134214….
解密:
curl http://localhost:8080/decrypt -d fdasfa2341sdfa134214….
结果会出来 mysercet
可以使用postman测试
非对称加密测试
需要先生成证书
cmd下执行命令
keytool -genkeypair -alias mytestkey -keyalg rsa -dname "cn=web server,ou=unit,o=organization,l=city,s=state,c=us" -keypass changeme -keystroe server.jks -storepass letmein1
将server.jks 文件复制到项目下的classpath
config server 配置
在 applicaction.yml中配置
encrypt: key-store: location: server.jks password: letmein alias: mytestkey secret: changeme
测试 post
加密:
curl http://localhsot:8080/enrypt -d mysercet
结果会出来一长串 fdasfa2341sdfa1,34214fdafd2341=….
解密:
curl http://localhost:8080/decrypt -d fdasfa2341sdfa1,34214fdafd2341=….
结果会出来 mysercet
可以使用postman测试
存储加密内容
使用{cipher}密文的形式存储
#spring.datasource.password={cipher}3b6e65af8c10d2766dba099a590496a18cfd816ef9190c983bb56249595ae3f0 spring.datasource.password={cipher}aqcactlsaycdfyrsghzz8jw2s6go9oeqjsccm//henrqiuo7zso3/vg9bexl8xwiyixtkcp2jn8hnrm4ntyyjdijxhccbjmjugrrfj2fdo5ojwmksymkp5eoxe6mjgxvqhh/tc+06tmbqj2xqecfco3jbdpxcr88ci+vxe63xdivgvav9iymcxlfxoch31bblk7j5fxj8pplukgxwadgzaa5qfqmcgduofc0aq+ia0qew7sddnwchlnwchebfqcewae7qt6zasirfzezt+waop8ri1u+4cyctjnv1isdxwn5j1lhcsoiipvinx8kbsxhcmpczdg3bgrs1e/pzq8cjhmv7irrs9bfgr6k7wuyjue4so2zutmbzae5v2nhb3xsqey=
总结
以上所述是小编给大家介绍的spring cloud config 配置文件加密方式,希望对大家有所帮助
推荐阅读
-
Spring cloud config 配置文件加密方式
-
spring配置文件加密方法示例
-
详解spring cloud config实现datasource的热部署
-
利用Spring Cloud Config结合Bus实现分布式配置中心的步骤
-
spring-cloud入门之spring-cloud-config(配置中心)
-
Spring cloud restTemplate 传递复杂参数的方式(多个对象)
-
详解spring cloud config整合gitlab搭建分布式的配置中心
-
Spring Cloud微服务架构的构建:分布式配置中心(加密解密功能)
-
详解Spring加载Properties配置文件的四种方式
-
Spring Cloud Config对特殊字符加密处理的方法详解