在實際開發中,會遇到兩個系統之間傳輸數據,爲了對傳輸的數據進行保護,須要發送方對接口數據進行加密,接收方對數據解密。瀏覽器
對數據加密,採用RSA+AES雙重加密,是數據更加安全。安全
使用前提:加密
若是客戶端自己存在安全問題,則沒法保證數據的安全,如瀏覽器端JS變量存儲了即將傳輸的用戶密碼,這個變量被其餘非信任腳本或其餘方式獲取到了,接口
會致使數據泄露,這種問題並非加密傳輸所能處理的。加密傳輸能保障數據,有一個前提,那就是對於本地動態生成的變量,就認爲是安全的,是認爲第三方沒法獲取的。開發
客戶端加密過程主要分爲如下三個步驟:變量
1.客戶端隨機產生AES的密鑰;2.對身份證信息(重要信息)進行AES加密;3.經過使用RSA對AES密鑰進行公鑰加密。密碼
服務端解密過程主要分爲如下兩個步驟:數據
1.對加密後的AES密鑰進行RSA私鑰解密,拿到密鑰原文;2.對加密後的重要信息進行AES解密,拿到原始內容。客戶端