1. Java8自带无限制加密解密算法, 不需要再引入网上说的那俩包
2. 加密解密是SpringCloud Config的功能, 所以必须先启动一个SCC项目
3. 在SCC项目的配置文件中添加加密解密的钥匙: 密钥----> encrypt.key=xuejian
4. 启动SCC项目,通过http://localhost:port/encrypt/status检查加密解密功能是否能用,如果能用,会返回OK,否则会返回一个不能用的提示
5. 启动一个使用SpringCloud Config配置的普通微服务,在bootstrap.properties中添加连接配置中心和目标配置的属性
红色是SpringCloud Config进行解密的标志,蓝色是要解密的密文,绿色是密钥(这个密钥在SCC项目和普通微服务项目都必须配置)
spring.application.name=appForClient
spring.cloud.config.uri=http://localhost:2000
spring.cloud.config.label=dev
spring.cloud.config.profile={cipher}dc945ee51bcd7ea4135a256df7fc0149f47fd6cd83aa53f2cba43c1b063a1230
encrypt.key=xuejian
如何获取密文呢?
启动SCC项目后, 通过http://localhost:port/encrypt请求对明文加密即可获取
获取后将"{cipher}+密文"替换明文即可
当启动普通微服务时, 微服务首先会根据自身配置的密钥去解析自身配置的密文, 然后通过解析得到的明文配置连接到配置中心(即普通微服务也可以根据密钥解密)
当从配置中心加载到的配置中也有密文时,此时需要SCC配置的密钥去解密
由上可知: 普通微服务和配置中心项目都可以进行解密加密, 但要将明文转为密文,必须由配置中心来搞.
综上:
在加密解密功能上,配置中心与普通微服务的区别:
相同点: 都可以根据密钥解密配置(解密功能)
不同点: 配置中心还可以根据不同密钥为同一明文生成不同密文(转换功能)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。