一、对称加密
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项目中进行测试