关于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 Script 使用RSA加解密

    一、概述 Postman内置的Js不支持进行RSA加解密,所以需要引入forgeJS来实现。在 Pre-request Script 使用以下脚本:

    2024年02月09日
    浏览(45)
  • Postman(08)如何使用Postman的pre-request script功能连接数据库

    Postman是一款常用的API测试工具,可以用于测试REST API、SOAP API等等。虽然Postman本身是不支持直接连接数据库的,但是可以通过使用Postman的pre-request script(前置脚本)功能,来实现连接数据库的功能。下面是一些大致的步骤,来看看吧: 首先,我们需要在本地安装数据库,例

    2024年02月20日
    浏览(56)
  • postman中使用formdata数据获取参数编写pre-request Script获取参数自动生成sign

    postman中header部分变量利用脚本生成相应的数据 timestamp:通过脚本获取生成的变量 sign:通过脚本获取生成的变量 body中的参数是form-data格式: 所有的参数需要根据实际的接口参数填写   程序片段: 由于本人的接口的加密方式是入参的参数按照字母排序然后加密字符串,所以

    2024年02月11日
    浏览(59)
  • postman-请求前参数预处理(pre-request)

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

    2024年02月11日
    浏览(49)
  • Postman进阶(一):编写预请求脚本(pre-request scripts)

    1.点击集合中的任意一个接口 2.点击Pre-request Script,即可在此下方编写脚本 3.点击send,Pre-request Script下的代码将在Postman将请求发送到API之前执行 Postman中提供一些选项,点击一下,则会在Pre-request Script中生成对应的脚本,可根据自己的需求来编写脚本 点击集合中的任意一个接

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

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

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

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

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

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

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

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

    2024年02月01日
    浏览(54)
  • 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日
    浏览(67)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包