非對稱加密:非對稱加密使用了壹對密鑰,公鑰與私鑰,所以安全性高,但加密與解密速度慢。
方案:將對稱加密的密鑰使用非對稱加密的公鑰進行加密,然後發送出去,接收方使用私鑰進行解密得到對稱加密的密鑰,然後雙方可以使用對稱加密來進行溝通。
方案的流程介紹:
1、APP客戶端需要和服務器進行數據交互,它的APP首先生成了壹個隨機數作為對稱密鑰(比如AES加密的密鑰)。
2、APP客戶端向服務器請求公鑰
3、服務器將公鑰發送給APP客戶端
4、APP客戶端使用服務器的公鑰將自己的對稱密鑰(比如AES加密的密鑰)加密
5、APP客戶端將加密後的對稱密鑰發送給服務器
6、服務器使用私鑰解密得到APP客戶端的對稱密鑰
7、APP客戶端與服務器可以使用對稱密鑰來對溝通的內容進行加密與解密了
App端和後臺數據加密分兩部分:
1.數據傳輸的時候加密 (壹般采用Https協議在傳輸層加密)
2.數據本身的加密 (使用各種加密算法)
RSA非對稱加密:公鑰加密,私鑰解密。公鑰私鑰由服務端生成,公鑰放在客戶端私密保存,私鑰放在服務端。安全性高,運算速度慢
AES對成加密:運算速度快切安全性高
上面網絡通信過程是安全的,可以保證通信數據即使被截取了,也無法獲得任何有效信息;即使被篡改了,也無法被客戶端和服務端驗證通過。
具體可參考的博文:(記得後續實踐哦)
/wangjiang_qianmo/article/details/88073848?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param