一丽惭、對稱加密
? ? 1.對稱加密:對稱加密是最快速、最簡單的一種加密方式辈双,加密(encryption)與解密(decryption)用的是同樣的密鑰(secret key)
? ? 一般情況下责掏,window運(yùn)行環(huán)境不支持加密,需要配置加密環(huán)境:
????????a.在application.properties/yml全局配置中添加密鑰
????????b.配置JCE(依據(jù)JDK加密的類庫)
????c.調(diào)整Spring?Cloud版本(高版本不用)
????d.啟動類和項(xiàng)目結(jié)構(gòu)
? ? ? ? e.測試加密狀態(tài)
? ? 2.加密效果演示
? ? ? ? a.需要在Git遠(yuǎn)程倉庫配置我們加密后的文件信息等湃望,我們可以借助HttpClient工具類進(jìn)行加密
? ? ? ? b.在Git遠(yuǎn)程倉庫中配置加密信息用來訪問
二换衬、非對稱加密
? ? 1.非對稱加密算法安全級別較高,加密復(fù)雜证芭,加密(encryption)和解密(decryption)使用的密鑰(secret key)不同(分公鑰和私鑰)
? ? 2.對稱加密和非對稱加密的區(qū)別:
? ? ? ? a.對稱加密算法在加密時使用的是同一個密鑰冗疮;
? ? ? ? b.非對稱加密算法需要兩個密鑰來進(jìn)行加密和解密,這兩個密鑰是公開密鑰(public key)和私有密鑰(private key)
? ? 3.非對稱加密需要用到Keytool(JDK提供的可以生成數(shù)字證書的工具)
? ??????Keytool是一個java數(shù)據(jù)證書的管理工具
????????Keytool將密鑰(key)和證書(certificates)存在一個keystore的文件中
????????Keytool文件檩帐,包含兩種數(shù)據(jù):密鑰實(shí)體(Key entity)-密鑰(secret key)或者是私鑰和配對公鑰(采用非對稱加密)可信任的證書實(shí)體(trustedcertificate entries)-只包含公鑰
? ? ? ? 借助DOS窗口或其他Shell工具運(yùn)行命令术幔,可以生成密鑰(私鑰),注意:需要用管理員身份運(yùn)行生成工具
? ??keytool -genkeypair -alias "test1" -keyalg "RSA" -keystore "test.keystore"
詳情參考:證書及證書管理(keytool工具實(shí)例)
? ? 生成的文件在當(dāng)前運(yùn)行黑窗口的目錄
? ? 跟非對稱加密一樣配置application.properties/yml文件
????????證書存放位置和項(xiàng)目結(jié)構(gòu)
????????Git遠(yuǎn)程倉庫中的配置文件
? ? ? ? 通過URL訪問遠(yuǎn)程倉庫
三湃密、配置中心的用戶安全認(rèn)證
? ? ? ? 為了防止url盜用诅挑,開啟認(rèn)證相當(dāng)于訪問的時候【進(jìn)行權(quán)限驗(yàn)證】,增加了數(shù)據(jù)安全性
? ? ? ? 在服務(wù)端的applicaiton.proerptie/yml文件開啟安全認(rèn)證
? ? ? ? 在客戶端設(shè)置安全保護(hù)參數(shù)
? ??注意:SpringCloud高版本和低版本有細(xì)微差距
? ??????依賴差距
? ? ? ? 服務(wù)端開啟差距
? ? 禁用CSRF保護(hù)泛源,開啟Basic認(rèn)證
? ? 客戶端applicaiton.properties/yml文件的差距
四拔妥、Spring? ? Cloud? ? Bus
? ? Spring Cloud Bus(消息總線):集成了市面上常用的消息代理(rabbitmq、kafka等)
? ? 解決的問題:解決了微服務(wù)數(shù)據(jù)變更达箍,及時同步的問題
????????不同的刷新方式簡圖
? ? 1.Bus-Server項(xiàng)目? ? ? ??
????????a.創(chuàng)建Bus-Server没龙,添加依賴
????????b.application.properties/yml配置文件
????????c.項(xiàng)目結(jié)構(gòu)和啟動類
? ? 2.創(chuàng)建Bus-client項(xiàng)目(并復(fù)制一份作為測試用)
? ? ? ? 訪問Git遠(yuǎn)程倉庫并展示的API
? ? ? ? 項(xiàng)目結(jié)構(gòu)和啟動類
? ? 借助HttpClient工具類來發(fā)送刷新請求
? ? SpringCloud高版本和低版本的差距
? ? 1.application.properties/yml文件中權(quán)限攔截的配置
? ? 2.刷新地址的不同
? ? 3,可以借助CURL命令來發(fā)送POST請求缎玫、
? ? 詳情參考:curl百度百科
五硬纤、消息驅(qū)動入門(Stream)
????1.創(chuàng)建消息發(fā)送者項(xiàng)目Sender
? ? ? ? a.修改依賴
? ? ? ? b.application.properties/yml配置文件
? ? ? ? c.創(chuàng)建消息發(fā)送接口,通過@Output注解指定輸出的交換器(信道)
? ? ? ? d.修改啟動類赃磨,添加@EnableBinding注解通過value屬性綁定發(fā)送接口
? ? 2.創(chuàng)建消息接收者項(xiàng)目Receiver
? ? ? ? a.修改依賴
? ? ? ? b.修改application.properties/yml配置文件
? ? ? ? c.創(chuàng)建接收消息的接口筝家,通過@Input注解指定接收的交換器(信道)
????????d.創(chuàng)建處理消息的類,通過@EnableBinding注解綁定接收的接口
? ? ? ? ? ? 通過@StreamListener接口指定要監(jiān)聽的隊(duì)列
? ? ? ? e.修改啟動類邻辉,添加@EnableBinding注解溪王,通過value屬性指定接收消息的接口
? ? 3.在Send項(xiàng)目中進(jìn)行測試