29-springcloud-config-5-配置信息的加解密安全处理

前面是在Git仓库中明文存储配置信息值,很多场景下,对于某些敏感的配置内容(例如数据库账号、密码等),应该加密存储,config server为我们考虑到了这一点,对配置内容提供了加密与解密支持;

安装JCE

config server的加解密功能依赖Java Cryptography Extension(JCE)

Java 8 JCE下载地址:

http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html 

下载得到JCE的zip压缩包并解压,将其中的jar包覆盖到JDK/jre/lib/security目录下;

 

对称加密

config server提供了加密与解密的接口,分别是

加密接口:http://localhost:8888/encrypt

解密接口:http://localhost:8888/decrypt  (这个接口我们不需要用)

解密是config-server自动完成的;

在原来的springcloud-service-config项目中添加bootstrap.properties配置文件,里面配置密钥:

#设置对称密钥,用这个密钥进行加密和解密
encrypt.key=key111

 

运行项目,验证加解密:

加密:curl http://localhost:8888/encrypt -d root

得到:9455e7d7333e1cc9d1a8680244f6db3aae6de93825d4bc6f9f4258993f7a8cad
解密:curl http://localhost:8888/decrypt -d 9455e7d7333e1cc9d1a8680244f6db3aae6de93825d4bc6f9f4258993f7a8cad

git仓库增加修改配置文件application-dev.properties,增加如下内容:

spring.datasource.username={cipher}9455e7d7333e1cc9d1a8680244f6db3aae6de93825d4bc6f9f4258993f7a8cad
spring.datasource.password={cipher}5a6e3e417d416736d638cd4db7a6380a71a8709c3ec335a28e01cff05705eeaa

 

访问地址:http://localhost:8888/application-dev.properties 得到密钥原文;

说明 config server能自动解密配置内容;

posted on   companion  阅读(271)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示