一、对称加密
1.对称加密:对称加密是最快速、最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key)
一般情况下,window运行环境不支持加密,需要配置加密环境:
a.在application.properties/yml全局配置中添加密钥

b.配置JCE(依据JDK加密的类库)


c.调整Spring Cloud版本(高版本不用)


d.启动类和项目结构

e.测试加密状态

2.加密效果演示
a.需要在Git远程仓库配置我们加密后的文件信息等,我们可以借助HttpClient工具类进行加密

b.在Git远程仓库中配置加密信息用来访问

二、非对称加密
1.非对称加密算法安全级别较高,加密复杂,加密(encryption)和解密(decryption)使用的密钥(secret key)不同(分公钥和私钥)

2.对称加密和非对称加密的区别:
a.对称加密算法在加密时使用的是同一个密钥;
b.非对称加密算法需要两个密钥来进行加密和解密,这两个密钥是公开密钥(public key)和私有密钥(private key)

3.非对称加密需要用到Keytool(JDK提供的可以生成数字证书的工具)
Keytool是一个java数据证书的管理工具
Keytool将密钥(key)和证书(certificates)存在一个keystore的文件中
Keytool文件,包含两种数据:密钥实体(Key entity)-密钥(secret key)或者是私钥和配对公钥(采用非对称加密)可信任的证书实体(trustedcertificate entries)-只包含公钥
借助DOS窗口或其他Shell工具运行命令,可以生成密钥(私钥),注意:需要用管理员身份运行生成工具
keytool -genkeypair -alias "test1" -keyalg "RSA" -keystore "test.keystore"
详情参考:证书及证书管理(keytool工具实例)

生成的文件在当前运行黑窗口的目录

跟非对称加密一样配置application.properties/yml文件

证书存放位置和项目结构

Git远程仓库中的配置文件

通过URL访问远程仓库

三、配置中心的用户安全认证
为了防止url盗用,开启认证相当于访问的时候【进行权限验证】,增加了数据安全性

在服务端的applicaiton.proerptie/yml文件开启安全认证

在客户端设置安全保护参数

注意:SpringCloud高版本和低版本有细微差距
依赖差距

服务端开启差距

禁用CSRF保护,开启Basic认证

客户端applicaiton.properties/yml文件的差距

四、Spring Cloud Bus
Spring Cloud Bus(消息总线):集成了市面上常用的消息代理(rabbitmq、kafka等)
解决的问题:解决了微服务数据变更,及时同步的问题

不同的刷新方式简图


1.Bus-Server项目
a.创建Bus-Server,添加依赖

b.application.properties/yml配置文件

c.项目结构和启动类

2.创建Bus-client项目(并复制一份作为测试用)

访问Git远程仓库并展示的API

项目结构和启动类


借助HttpClient工具类来发送刷新请求

SpringCloud高版本和低版本的差距
1.application.properties/yml文件中权限拦截的配置

2.刷新地址的不同

3,可以借助CURL命令来发送POST请求、
详情参考:curl百度百科

五、消息驱动入门(Stream)
1.创建消息发送者项目Sender
a.修改依赖

b.application.properties/yml配置文件

c.创建消息发送接口,通过@Output注解指定输出的交换器(信道)

d.修改启动类,添加@EnableBinding注解通过value属性绑定发送接口

2.创建消息接收者项目Receiver
a.修改依赖

b.修改application.properties/yml配置文件

c.创建接收消息的接口,通过@Input注解指定接收的交换器(信道)

d.创建处理消息的类,通过@EnableBinding注解绑定接收的接口
通过@StreamListener接口指定要监听的队列

e.修改启动类,添加@EnableBinding注解,通过value属性指定接收消息的接口

3.在Send项目中进行测试
