在網關層Zuul對數據進行加解密設計

請求頭參數說明:

參數 描述
encrypt-mode 加密方式:0(或沒有該key).不加密 1.DES結合RSA加密 2.DES加密 3.AES加密(目前使用該方式)
resp-encrypt 對返回的數據進行加密, 1.加密 0(或沒有該key).不加密
url-param-decrypt 對url的參數進行解密, 1.需要解密 0(或沒有該key).不需要解密
secret-key des的鹽值,需要使用rsa進行加密
  1. json請求的數據加密(body)
{"request":"AES加密後的數據"}
  1. get請求的參數加密,在請求頭中設置url-param-decrypt=1
http://127.0.0.1:8041/user-service/test?request=KXBUFIFtuVbqNtpLMe/yVg==
  1. 表單請求的數據加密,表單需要對每一個value進行加密
  2. 返回的數據格式
{"response":"AES加密後的數據"}

具體說明: 前端獲取到RSA公鑰,公鑰主要對AES的鹽值進行加密 請求處理:數據使用鹽值(未加密)進行AES加密,然後對鹽值使用公鑰進行加密,放到請求頭的secret-key中 返回數據處理:使用鹽值(未加密)進行AES解密

需要注意的是:

  1. 選擇加解密的方式是先找個demo,確認前後端都能對數據進行加解密,我參考了篇文章使用AES進行加解密
  2. 網關過濾器的順序很重要

加解密流程圖

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章