SpringCloud Conf 搭建配置中心二
更多干货
- spring cloud 微服务
- spring cloud 知识点
- 服务发现与服务注册
- 定制Rabbon客户端负载均衡策略
- Spring Cloud Feign使用1
- SpringCloud Feign使用二
- SpringCloud Hystrix 实现
- SpringCloud超时机制、断路器模式简介
- Spring Cloud Eureka HA 高可用
- SpringCloud Turbine
- SpringCloud zuul 网关 集成
- SpringCloud Conf 搭建配置中心
- spring cloud- 阿波罗 apllo 本地开发环境
- SpringCloud Conf 配置中心 属性加解密之对称加密
- Spring Cloud 配置中心 认证和高可用
- 加密和解密
- 对称加解密
- 非对称加解密
对称加解密
Spring Cloud可以在本地进行预处理的解密,需要在JVM添加JCE扩展.
下载JCE 安装对应的java版本
- 下载后替换本地安装的jre下的文件
- 替换文件local_policy.jar 和 US_export_policy.jar。 加解密的策略文件
修改配置文件
application.yml 加入encrypt.key
encrypt:
key: ctoedu
加密和解密
# encrypt 加密
crul -X POST http://localhost:8080/encrypt -d mmmmm
# decrypt 解密
curl localhost:8888/decrypt -d 682bc583f4641835fa2db009355293665d2647dade3375c0ee201de2a49f7bda
配置文件中存储加密后的配置
如果是application.yml 则用引号且 前面加{cipher}
spring:
datasource:
username: dbuser
password: '{cipher}FKSAJDFGYOS8F7GLHAKERGFHLSAJ'
如果是 application.properties。 不要加引号
spring.datasource.username: dbuser
spring.datasource.password: {cipher}FKSAJDFGYOS8F7GLHAKERGFHLSAJ
非对称加解密
使用keytool生产证书
keytool -genkeypair -alias mytestkey -keyalg RSA \
-dname "CN=Web Server,OU=Unit,O=Organization,L=City,S=State,C=US" \
-keypass changeme -keystore server.jks -storepass letmein
将生产的证书server.jks 放到resource下
bootstrap.yml 增加以下配置
encrypt:
keyStore:
location: classpath:/server.jks
password: letmein
alias: mytestkey
secret: changeme
加密、解密 字符串
# encrypt 加密
crul -X POST http://localhost:8080/encrypt -d mmmmm
# decrypt 解密
curl localhost:8888/decrypt -d jkjkjkjk