`
huangyongxing310
  • 浏览: 496266 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

spring cloud config 加密使用

 
阅读更多
spring cloud config 加密使用

数据不加密放在git上的比较危险的
加密后就可以让config server 进行解密,这样会比较安全

下载Java 8 JCE(默认使用的是有长度限制的版本,所以要用这个)
http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html

其实就是将JDK/jre/lib/security目录中的两个jar文件替换为JCE中的jar文件。


curl 工具安装
在官网处下载工具包:http://curl.haxx.se/download.html





当然,可以给Windows增加curl命令的环境变量,增加CURL_HOME环境变量,给PATH环境变量加上%CURL_HOME%; 
这样就可以在命令窗口的任意目录下使用curl命令了。






git 上文件内容更新为
configClient-test.properties

#cipher 表明是加密过的
foo = {cipher}dda7913d685b9201241907150244ed055c2f69d6f6bb6d21ddbf1764ce070fbc





<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
	http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>


	<groupId>com.midea</groupId>
	<artifactId>base</artifactId>
	<version>1.0-SNAPSHOT</version>
	<packaging>jar</packaging>
	<name>base</name>


	<!-- 设定仓库,按设定顺序进行查找. -->
	<!--<repositories> <repository> <id>public</id> <name>Team Nexus Repository</name> 
		<url>http://10.33.183.113:8081/nexus/content/groups/public</url> <snapshots> 
		<enabled>true</enabled> <updatePolicy>always</updatePolicy> </snapshots> 
		</repository> </repositories> <pluginRepositories> <pluginRepository> <id>public</id> 
		<name>Team Nexus Repository</name> <url>http://10.33.183.113:8081/nexus/content/groups/public</url> 
		<snapshots> <enabled>true</enabled> <updatePolicy>always</updatePolicy> </snapshots> 
		</pluginRepository> </pluginRepositories> -->

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>1.8</java.version>
	</properties>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.2.RELEASE</version>
	</parent>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>Dalston.SR1</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<dependencies>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-config</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-config-server</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>

		<!-- <dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-security</artifactId>
		</dependency> -->

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-actuator</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-eureka</artifactId>
		</dependency>

		<dependency>
			<groupId>io.springfox</groupId>
			<artifactId>springfox-swagger2</artifactId>
			<version>2.4.0</version>
			<exclusions>
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>slf4j-api</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<dependency>
			<groupId>io.springfox</groupId>
			<artifactId>springfox-swagger-ui</artifactId>
			<version>2.4.0</version>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-log4j2</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter</artifactId>
			<exclusions>
				<exclusion>
					<groupId>org.springframework.boot</groupId>
					<artifactId>spring-boot-starter-logging</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
			<exclusions>
				<exclusion>
					<groupId>org.springframework.boot</groupId>
					<artifactId>spring-boot-starter-logging</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
	</dependencies>
	<build>

	</build>
</project>






server.port=8888


#服务器路径
#server.context-path=/eurekaServer

spring.application.name=config-server

#gitHub路径
spring.cloud.config.server.git.uri=https://github.com/huangyongxing310/springCloudConfigTest.git
#文件路径,如果是根目录可以不配置
spring.cloud.config.server.git.searchPaths=test
#配置仓库的分支,
spring.cloud.config.label=master
#gitHub帐号密码
spring.cloud.config.server.git.username=596134920@qq.com
spring.cloud.config.server.git.password=xing310600

#security安全机制
security.user.name=user
security.user.password=123456

eureka.client.serviceUrl.defaultZone=http://localhost:8761/eurekaServer/eureka/

# 设置对称密钥
encrypt.key=123456



package com;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.config.server.EnableConfigServer;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;



@SpringBootApplication //spring boot 开启应用
@EnableConfigServer //表示开启Config服务
@EnableEurekaClient //只能为eureka作用
public class Application {

	public static void main(String[] args) {
		SpringApplication.run(Application.class, args);
	}

}






http://localhost:8888/encrypt/status

curl http://localhost:8888/encrypt -d 123456
curl http://localhost:8888/decrypt -d dda7913d685b9201241907150244ed055c2f69d6f6bb6d21ddbf1764ce070fbc






  • 大小: 52.3 KB
  • 大小: 23.7 KB
  • 大小: 10.1 KB
分享到:
评论

相关推荐

    spring cloud config、bus源码

    在 Spring Cloud Config/Bus 中,配置文件可以使用加密来保护敏感信息。 ConfigServerEncryptionConfiguration 是一个配置类,负责配置加密和解密的逻辑。在加密过程中,ConfigServerEncryptionConfiguration 使用 ...

    spring-cloud config详细demo

    - 将敏感信息加密存储,如使用Spring Cloud Vault或Spring Cloud Config的加密特性。 - 分环境管理配置,如开发、测试、生产环境使用不同的Git分支。 - 设计良好的配置结构,便于管理和维护。 通过这个Spring ...

    Spring cloud config 配置文件加密方式

    在 Spring Cloud Config 中,可以使用对称加密来保护配置文件中的敏感数据。对称加密的优点是简单方便,但安全性没有非对称加密高。 在 Spring Cloud Config 中,可以使用 `encrypt` 属性来配置对称加密。在 `...

    SpringCloud——分布式配置中心(Spring Cloud Config)

    Spring Cloud Config 可以与 Spring Security 集成,对配置进行加密和解密。同时,可以限制哪些用户或服务有权访问配置信息。 **七、高可用配置中心** 为了提高配置中心的可用性,我们可以部署多个 Config Server ...

    《深入理解Spring Cloud与微服务构建》学习笔记(二十)~配置中心Spring Cloud Config

    2. 加密配置:对于敏感信息,如数据库密码,可以使用Spring Cloud Bus和Encrypt模块进行加密存储,确保数据安全。 五、Spring Cloud Bus 1. 事件传播:Spring Cloud Bus可以连接Config Server和各个服务实例,当...

    spring cloud config 代码示例

    - 对敏感信息使用加密,如使用 Spring Cloud Vault。 总的来说,Spring Cloud Config 是一个强大的工具,可以帮助开发者在分布式系统中管理配置,提升系统的灵活性和可维护性。通过上述的代码示例和工作原理,你...

    spring cloud config client 服务配置中心 客户端

    - 客户端是Spring Cloud Config的使用者,每个需要使用配置的微服务都会包含Config Client。 - 客户端通过HTTP API与Config Server通信,获取当前环境下的配置信息。 - 当客户端启动时,会自动向Config Server...

    spring cloud中文版【Spring Cloud Config】--spring cloud中文文档.pdf

    客户端示例部分会介绍如何在Spring应用中使用Spring Cloud Config客户端,通过配置客户端引入配置服务器的信息,并与之进行通信以获取配置信息。 **配置服务Spring Cloud Config Server** 配置服务端是整个Spring ...

    spring cloud config 和 bus 源码解读

    Spring Cloud Config是Spring Cloud的一部分,旨在为微服务架构提供集中化的外部配置支持,配置内容可以从各种外部资源(如配置文件、数据库、环境变量等)加载。Spring Cloud Bus用于管理和传播分布式系统中的消息...

    spring cloud config

    让我们深入探讨Spring Cloud Config的工作原理、核心组件以及如何在实际项目中使用。 **工作原理** Spring Cloud Config 由两个主要部分组成:Config Server 和 Config Client。Config Server 作为配置中心,存储和...

    Spring boot,springCloud精选视频教程

    24.Spring Cloud Config服务端配置细节(二)之加密解密 25.Spring Cloud Config客户端配置细节 26.Spring Cloud Bus之RabbitMQ初窥 27.Spring Cloud Bus整合RabbitMQ 28.Spring Cloud Bus整合Kafka 29.Spring ...

    SpringCloud之七 分布式配置中心SpringCloudConfig.pdf

    5. 加密解密功能:对于一些敏感的配置信息,Spring Cloud Config支持对这些信息进行加密存储,在使用时再进行解密,确保配置的安全性。 6. 与Spring Cloud的无缝集成:Spring Cloud Config天然与Spring Cloud生态中...

    spring boot+spring cloud视频教学下载全套

    ├49 7.8 Spring Cloud Config 与Eureka配合使用.avi ├5 4.1服务发现与服务注册.avi ├50 7.9 Spring Cloud Config配置属性刷新之手动刷新.avi ├51 7.10 Spring Cloud Config配置属性刷新之自动刷新.avi ├52 7.11...

    spring cloud config微服务配置中心

    本文将深入探讨Spring Cloud Config的相关知识点,包括其核心概念、工作原理、主要功能以及如何在实际项目中进行部署和使用。 1. **核心概念** - **配置服务器(Config Server)**:Spring Cloud Config Server是...

    SpringCloud.pdf

    1. **分布式/版本化配置**:Spring Cloud Config 提供了一个集中式的配置服务器,允许服务动态地获取和更新配置。这使得在分布式环境中管理和维护配置变得更加容易,支持配置的版本控制。 2. **服务注册与发现**:...

    Spring Cloud dalston 中文文档 参考手册

    Spring Cloud Dalston是Spring Cloud的一个版本,其中文文档是开发者在使用Spring Cloud进行微服务开发时的重要参考资料。本文将依据提供的文件内容,详细解读Spring Cloud Dalston的核心知识点。 ### 微服务上下文...

    spring-cloud-config使用oracle存储配置

    在本场景中,我们将探讨如何使用 Oracle 数据库作为 Spring Cloud Config 的后端存储来保存和管理配置信息。 首先,我们需要了解 Spring Cloud Config 的基本架构。Config Server 是服务端,负责加载和提供配置信息...

    Spring Cloud 中文文档 参考手册 中文版2018

    此外,Spring Cloud Config支持使用Vault等第三方安全存储来管理敏感信息。 Spring Cloud Netflix是另一个关键组件,它提供了Eureka用于服务发现,Ribbon用于客户端负载均衡,Hystrix用于断路器模式,Feign用于声明...

    spring cloud示例程序

    示例可能会介绍如何使用Spring Cloud Config Server的加密功能。 12. **灰度发布/金丝雀测试**:Spring Cloud Gateway 或 Istio 可能会被用作实现灰度发布和金丝雀测试的工具,这将帮助你理解如何在生产环境中逐步...

    Spring Cloud Config对特殊字符加密处理的方法详解

    在使用Spring Cloud Config进行配置中心管理时,可能会遇到特殊字符加密处理的问题。例如,在使用curl命令对特殊字符进行加密和解密时,可能会出现特殊字符丢失的情况。本文将详细介绍Spring Cloud Config对特殊字符...

Global site tag (gtag.js) - Google Analytics