一个接口,初期开发的时候没有考虑加密。最近突然想到需要加密传输的数据。
比如
客服端发送的 json 格式{“data”:{“key1”:“v1”, “key2”:“v2”}}
客服端收到的json格式{“data”:{“key1”:“v1”, “key2”:“v2”}}
我们的方案是直接将data的value加密,结果是{“data”:“encrypted with base64 string”}
以前写好的Postman要如何改造才能进行测试呢?
这就需要用到Postman的Pre-request script配合使用,
在发送的时候用一个参数来占位,比如
{“placeholder”:{“key1”:“v1”, “key2”:“v2”}, “data”:"{ {data}}"}
在Pre-request script中获取placeholder的值,然后加密,将加密后的字符串存入环境变量data中即可。
如果加密的内容中有依赖环境变量的该如何办呢?我的解决方案就是用正则替换,比如
let value = postman.getEnvironmentVariable("key");/
let reg = /\{ {(.*?)\}}/;
let param = request.data;
let data = param.replace(reg, value);
解密的时候可以在Postman的Tests中进行, 就不说了。
我用的是DES加密,分享一个js的DES测试用例, 来源于网络gist
JS:DES-Test//DES 加密