前言
我们会使用git来保存我们项目的配置文件,但是文件中总有一些敏感数据,对于这些敏感数据我们通常需要给它加密,加密通常有两种加密方式,一种是对称加密,一种是非对称加密,对称加密简单方便,但是安全性没有非对称加密高,非对称加密需要生成证书,安全性比较高。但是请记住没有绝对的安全。
配置环境
java8 jce
config server 的加密解密需要依赖与java Cryptography Extension (jce)
安装方式:可以参考里面的README,其实也很简单:把jdk下面 /jre/lib/security
目录下面的两个jar替换了。
Config Server 配置
对称加密配置测试
在application.yml 中配置
encrypt:
key:'***这里写密钥***'
测试 post
加密:
1
|
curl http: //localhsot:8080/enrypt -d mysercet |
结果会出来一长串 fdasfa2341sdfa134214….
解密:
1
|
curl http: //localhost:8080/decrypt -d fdasfa2341sdfa134214…. |
结果会出来 mysercet
可以使用postman测试
非对称加密测试
需要先生成证书
1
|
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中配置
1
2
3
4
5
6
|
encrypt: key-store: location: server.jks password: letmein alias : mytestkey secret: changeme |
测试 post
加密:
1
|
curl http: //localhsot :8080 /enrypt -d mysercet |
结果会出来一长串 fdasfa2341sdfa1,34214fdafd2341=….
解密:
1
|
curl http: //localhost :8080 /decrypt -d fdasfa2341sdfa1,34214fdafd2341=…. |
结果会出来 mysercet
可以使用postman测试
存储加密内容
使用{cipher}密文的形式存储
1
2
|
#spring.datasource.password={cipher}3b6e65af8c10d2766dba099a590496a18cfd816ef9190c983bb56249595ae3f0 spring.datasource.password={cipher}AQCActlsAycDFYRsGHzZ8Jw2S6GO9oeqJSCcm //HenrqiuO7zSo3/vg9BeXL8xwiyIXtKcp2JN8hnrM4NTyyJDIjxhcCbJMjuGrrFJ2FdO5oJWmksymkP5EOXE6MjgxVqHh/tc +06TMBQj2xqEcfCO3jBDPxcR88Ci+VXe63xDIVgvAV9IYmCxlfXOCH31bBlK7j5FXJ8pPLUKgXwaDGzaA5QfqMCGduOfC0AQ+iA0QEW7SdDnwChLNwCHEBfQceWAE7qt6zasiRFZeZt+waOp8rI1u+4CYcTjnV1iSdXwN5j1lhcsoiIpViNx8kbsxhcmpCzdg3bGrS1e /Pzq8CjHmV7IRRS9BfgR6K7wuyjue4SO2ZUtMbZAE5V2NHb3XsqeY = |
总结
以上所述是小编给大家介绍的Spring cloud config 配置文件加密方式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:https://blog.csdn.net/u014792352/article/details/73163714