请求头参数说明:
参数 | 描述 |
---|---|
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进行加解密
- 网关过滤器的顺序很重要