关于Postman Pre-request Script 请求前处理(AES加密以及HMAC-SHA256)

这篇具有很好参考价值的文章主要介绍了关于Postman Pre-request Script 请求前处理(AES加密以及HMAC-SHA256)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一 postman前置 处理

设置环境变量如下:

 二 编写Postman Pre-request Script Js加密代码

三 Postman 最终参数设置以及结果演示

postman 表单请求 参数设置示例:


一 postman前置 处理

设置环境变量如下:

params:   AES 加密后的参数
signature:  HMAC-SHA256 加密后的签名
timestamp: 时间毫秒值
secret:     加密秘钥

postman sha256加密,postman,测试工具

 二 编写Postman Pre-request Script Js加密代码

//加密前明文参数    
    var paramsDec = {"data": "aaa"};
//加密秘钥
    var secret = 'w321w321w321w321w321w321w321w321';
//AES加密后参数
    var aesEncrypted = cryptoEncrypt(paramsDec, secret);
    console.log("aesEncrypted=" + aesEncrypted);

    var timestamp = Date.parse(new Date())
    // var timestamp = pm.environment.get("timestamp");
//HMAC-SHA256 加密后签名
    var sign = cryptoSign(aesEncrypted,timestamp, secret);

    pm.environment.set("params", aesEncrypted);
    pm.environment.set("signature", sign);
    pm.environment.set("timestamp", timestamp);

    /**
     * AES加密
     * @param {any} paramsDec 加密数据
     */
    function cryptoEncrypt(paramsDec, secret) {
        var srcs;
        console.log("cryptoEncrypt secret=" + secret);
        var key = CryptoJS.enc.Utf8.parse(secret);
        const ivs = secret.substring(16, 33).toString();
        var iv = CryptoJS.enc.Utf8.parse(ivs);
        console.log("cryptoEncrypt iv=" + ivs);
        var encrypted = '';
        if (typeof (paramsDec) == 'string') {
            srcs = CryptoJS.enc.Utf8.parse(paramsDec);
            console.log("srcs=" + srcs);
            encrypted = CryptoJS.AES.encrypt(paramsDec, key, {
                iv: iv,
                mode: CryptoJS.mode.CBC,
                padding: CryptoJS.pad.Pkcs7
            });
        } else if (typeof (paramsDec) == 'object') {//对象格式的转成json字符串
            data = JSON.stringify(paramsDec);
            console.log("data=" + data);
            srcs = CryptoJS.enc.Utf8.parse(data);
            console.log("srcs=" + srcs);
            encrypted = CryptoJS.AES.encrypt(data, key, {
                iv: iv,
                mode: CryptoJS.mode.CBC,
                padding: CryptoJS.pad.Pkcs7
            })
        }
        console.log("encrypted=" + encrypted);
        return encrypted.toString();
    }


    function cryptoSign(aesEncrypted, timestamps, secret) {
        console.log("cryptoSign secret=" + secret);
        console.log("timestamps=" + timestamps + " ; ;clientType=" + clientType + " ; ;version=" + version + " ; ;appId=" + appId);
        var signDec = aesEncrypted + timestamps + version;
        var srcs = CryptoJS.enc.Utf8.parse(signDec);
        var sec = CryptoJS.enc.Utf8.parse(secret);
// hmac_sha256加密
        console.log("signDec=" + signDec+"                srcs=" + srcs);
        var signature = CryptoJS.HmacSHA256(srcs, sec);
        console.log("signature=" + signature);
        return signature.toString();
    }

三 Postman 最终参数设置以及结果演示

postman 表单请求 参数设置示例:

params:{{params}}
timestamp:{{timestamp}}
appId:{{appId}}

postman sha256加密,postman,测试工具文章来源地址https://www.toymoban.com/news/detail-688169.html

到了这里,关于关于Postman Pre-request Script 请求前处理(AES加密以及HMAC-SHA256)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • postman-请求前参数预处理(pre-request)

    Pre-request 与 Tests 类似,区别在于:Pre-request 中的脚本是在执行请求之前运行,而Tests 中的脚本则是在请求完成之后执行。 Pre-request Script是在请求发送之前通过需要执行的JS代码片段; 请求参数中包含随机数或者请求中包括一个时间戳,或者请求参数需要加密,都需要在该标

    2024年02月11日
    浏览(47)
  • Postman/Apifox接口测试——Pre-request自动登录

    Apifox官方使用文档中有关于  全自动登录  的实现:在运行接口用例的时候,自动完成登录,而无需手动登录。 官方教程如下: 1、将用来验证登录态的参数值设置为  {{ACCESS_TOKEN}} 2、 在  前置脚本  里引用前面创建公共脚本: 但实际使用时遇到了一些坑: 1、以 header: {

    2024年02月11日
    浏览(59)
  • python requests.get发送Http请求响应结果乱码、Postman请求结果正常

    最近在写爬虫程序,自己复制网页http请求的url、头部,使用python requests和postman分别请求,结果使用postman发送http get请求,可以得到正常的json数据,但是使用python的requests发送则接受到乱码,response.text的内容是: response.content的内容是: 十分费解,于是网上搜索了相关内容,

    2024年01月24日
    浏览(54)
  • postman请求时报错Required request body is missing:

    postman调试端口时后台报错:Required request body is missing: postman这里使用了错误的书写方式 将网页请求参数以json的形式写在Body的raw中

    2024年02月12日
    浏览(59)
  • 接口自动化【一】(抓取后台登录接口+postman请求通过+requests请求通过+json字典区别)

    文章目录 前言 一、requests库的使用 二、json和字典的区别 三、后端登录接口-请求数据生成 四、接口自动化-对应电商项目中的功能 五、来自postman的代码-后端登录 总结 记录:json和字典的区别,json和字段的相互转化;postman发送请求与Python中代码发送请求的区别。 安装: p

    2024年02月01日
    浏览(51)
  • Postman发送post请求时报400错误,Required request body is missing

    项目形参位置存在@RequestBody注解,用Postman发送post请求时报400错误,Required request body is missing。 错误图示: 解决方法: 方法一: 项目中形参位置不使用@RequestBody,在Postman进行Post请求时,在请求路径后直接拼接参数。 方法二: 项目中形参位置使用@RequestBody,在Postman进行Po

    2024年02月11日
    浏览(64)
  • python中应用requests库模拟postman请求携带token,使用get和post方法请求头携带token

    实际开发中, Python程序中需要调用后台接口 ,充当前端, 后端规定请求头需要携带token postman中 form-data、x-www-form-urlencoded的区别_叫我峰兄的博客-CSDN博客 python requests 带请求头Token发起http请求_python request token_软件测试李同学的博客-CSDN博客 python发送requests请求时,使用登录的

    2024年02月16日
    浏览(46)
  • 关于如何通过 postman 发起上传文件的请求,postman上传图片视频

    我们通常会使用 postman 发起请求,测试数据。有些请求将图片,视频等文件上传到服务器,如何通过 postman 实现上传文件呢? 定义请求方式和请求路径 请求体选择 body body 下选择 form-data 在参数中输入 file key 值输入完 file 后,在下拉框中选择 file 此时 value 会显示一个 Select

    2024年02月11日
    浏览(52)
  • requests库post请求参数data、json和files的使用,postman的各种数据格式

    application/x-www-form-urlencoded 和 application/json 是两种不同的 HTTP 请求体格式,它们在 Python 中的处理方式也不同。 application/x-www-form-urlencoded 是 Web 表单默认的提交方法,浏览器会将表单数据编码为 key-value 键值对,并将其放在请求体中。该格式数据可以通过 Python 中的标准库 url

    2024年02月16日
    浏览(64)
  • 接口测试-关于postman的几种参数请求方式

    (1)POST的数据类型 对于post请求方式,一般都是要对请求发送相应的一些参数的,而参数的注入一般填写在Body中。  如上图所示,在Body中,有多种类型选择: none:一般都不使用 form-data:  对于form-data,是采用键值对的方式进行存储,即将该表单的数据组织成Key-Value形式,

    2024年02月12日
    浏览(73)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包