Spring Cloud 配置中心内容加密的配置方法

 更新时间:2018年06月22日 09:27:56   作者:Java核心技术  
这篇文章主要介绍了Spring Cloud 配置中心内容加密的配置方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

从配置获取的配置默认是明文的,有些像数据源这样的配置需要加密的话,需要对配置中心进行加密处理。

下面使用对称性加密来加密配置,需要配置一个密钥,当然也可以使用RSA非对称性加密,但对称加密比较方便也够用了,这里就以对称加密来配置即可。

1、安装JCE

JDK下的JCR默认是有长度限制的,需要替换没有长度限制的JCE版本。

http://www.oracle.com/technet...

把下载包里面的两个jar文件复制替换到JAVA_HOME/jre/lib/security目录下。

2、添加加密KEY

配置中心配置文件中加入加密密钥。

encrypt: 
 key: 0e010e17-2529-4581-b907-c8edcfd6be09

3、查看加密功能状态

http://192.168.1.237:7100/encrypt/status

功能正常会显示OK

{"status":"OK"}

4、加密解密

对develop字符串加密

curl http://192.168.1.237:7100/encrypt -d develop -u config-user:99282424-5939-4b08-a40f-87b2cbc403f6

对develop字符串解密

curl http://192.168.1.237:7100/decrypt -d 0fb593294187a31f35dea15e8bafaf77745328dcc20d6d6dd0dfa5ae753d6836 -u config-user:99282424-5939-4b08-a40f-87b2cbc403f6
-u username:password 为basic认证

5、配置文件

spring: 
 datasource: 
  username: '{cipher}0fb593294187a31f35dea15e8bafaf77745328dcc20d6d6dd0dfa5ae753d6836'

需要加密的内容以{cipher}开头,并注意要使节单引号包起来,不然报错。

6、读取配置

这样客户端读取出来的配置是自动解密了的,如果要关闭自动解密功能通过客户端自己来解密,同时也要保留加解密的端点可以通过关闭以下配置即可。

spring.cloud.config.server.encrypt.enabled=false

总结

以上所述是小编给大家介绍的Spring Cloud 配置中心内容加密的配置方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • SpringBoot各种事务操作实战(自动回滚、手动回滚、部分回滚)

    SpringBoot各种事务操作实战(自动回滚、手动回滚、部分回滚)

    本文主要介绍了SpringBoot各种事务操作实战,包含自动回滚、手动回滚、部分回滚这三种,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-05-05
  • IntelliJ IDEA将导入的项目转成maven项目

    IntelliJ IDEA将导入的项目转成maven项目

    这篇文章主要介绍了IntelliJ IDEA将导入的项目转成maven项目,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Java用递归方法解决汉诺塔问题详解

    Java用递归方法解决汉诺塔问题详解

    汉诺塔问题是一个经典的问题。汉诺塔(Hanoi Tower),又称河内塔,源于印度一个古老传说。本文将用Java递归方法求解这一问题,感兴趣的可以学习一下
    2022-04-04
  • Java内存泄漏问题的排查、优化与最佳实践

    Java内存泄漏问题的排查、优化与最佳实践

    在 Java 开发中,内存泄漏是一个常见且令人头疼的问题,内存泄漏指的是程序在运行过程中,已经不再使用的对象没有被及时释放,从而导致内存占用不断增加,最终可能导致程序崩溃或性能显著下降,本文给大家介绍了Java内存泄漏排查、优化与最佳实践
    2025-01-01
  • SpringCloud Eureka应用全面介绍

    SpringCloud Eureka应用全面介绍

    Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的
    2022-09-09
  • Java判断文件或者文件夹是否存在的功能(不存在创建,存在删除)

    Java判断文件或者文件夹是否存在的功能(不存在创建,存在删除)

    在Java中,要判断文件或文件夹是否存在,并根据判断结果来执行创建或删除操作,你可以使用java.io.File类或者java.nio.file包中的类,本文介绍Java判断文件或者文件夹是否存在,不存在创建,存在删除,感兴趣的朋友一起看看吧
    2025-03-03
  • Java关键字instanceof用法及实现策略

    Java关键字instanceof用法及实现策略

    instanceof 运算符是用来在运行时判断对象是否是指定类及其父类的一个实例。这篇文章主要介绍了Java关键字instanceof用法解析,需要的朋友可以参考下
    2020-08-08
  • Java中==与equals的区别小结

    Java中==与equals的区别小结

    这篇文章主要介绍了Java中==与equals的区别小结,本文总结结论:== 与 equals()比较的内容是不同的,equals()方式是String类中的方法,它用于比较两个对象引用所指的内容是否相等,而 == 比较的是两个对象引用的地址是否相等,需要的朋友可以参考下
    2015-06-06
  • SpringBoot整合SpringSecurity和JWT和Redis实现统一鉴权认证

    SpringBoot整合SpringSecurity和JWT和Redis实现统一鉴权认证

    Spring Security是一个可以为Java应用程序提供全面安全服务的框架,同时它也可以轻松扩展以满足自定义需求,本文主要介绍了SpringBoot整合SpringSecurity和JWT和Redis实现统一鉴权认证,感兴趣的可以了解一下
    2023-11-11
  • springBoot不同module之间互相依赖的实现

    springBoot不同module之间互相依赖的实现

    本文主要介绍了springBoot不同module之间互相依赖的实现,不同模块之间的依赖通常是通过Maven或Gradle来管理的,下面就来介绍一下如何实现,感兴趣的可以了解一下
    2024-08-08

最新评论