請求頭參數說明:
參數 | 描述 |
---|---|
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進行加密 |
- json請求的數據加密(body)
{"request":"AES加密後的數據"}
- get請求的參數加密,在請求頭中設置url-param-decrypt=1
http://127.0.0.1:8041/user-service/test?request=KXBUFIFtuVbqNtpLMe/yVg==
- 表單請求的數據加密,表單需要對每一個value進行加密
- 返回的數據格式
{"response":"AES加密後的數據"}
具體說明: 前端獲取到RSA公鑰,公鑰主要對AES的鹽值進行加密 請求處理:數據使用鹽值(未加密)進行AES加密,然後對鹽值使用公鑰進行加密,放到請求頭的secret-key中 返回數據處理:使用鹽值(未加密)進行AES解密
需要注意的是:
- 選擇加解密的方式是先找個demo,確認前後端都能對數據進行加解密,我參考了篇文章使用AES進行加解密
- 網關過濾器的順序很重要