postman中进行SHA1或MD5签名

tech2022-12-15  131

大部分接口为了防御重放攻击,往往使用SHA1或者MD5对请求进行签名,例如,我们有如下请求: Request URL:

http://xx.xx.xx.xx/?nonce='123'&timestamp='123'

Body:

{ "xxx":"xxx" }

signature = SHA1(字段组合) 字段组合可以是nonce+timestamp+body,有时还会加上一个约定好的secret 将signature放入头部 Headers:

{ "signature": "xxxxxxxxxx" }

而使用postman进行请求测试时,我们可以通过Rre-request Script在请求前生成变量signature

再将变量填入头部 var message = request.data; var nonce = pm.request.url.query.get('nonce'); var timestamp = pm.request.url.query.get('timestamp'); var secret = '2020090101'; var content = message + '-' + nonce + '-' + secret + '-' + timestamp var signature = CryptoJS.SHA1(content).toString(); console.log(content); console.log(signature); # 设置为全局变量 postman.setGlobalVariable("signature", signature); 在Headers中填入变量{{signature}}

发送请求

最新回复(0)