postman使用RSA进行加密


前言

在接口测试或者性能测试中,经常会遇到要对数据进行加密的情况。本文主要介绍的是利用RSA加密的情况。其中引用的加密代码来自互联网,不知是哪位大牛分享的,在此表示感谢!


一、使用步骤

本文采用的方案是使用第三方模块forge.js来实现加密。

1.安装git和node

git作用:下载forge.js的源码
node作用:打包安装forge.js
PS:node请添加到环境变量

2.下载源码并安装

git clone https://github.com/digitalbazaar/forge.git
cd E:\forge
npm install

通过如上命令,可以将源码下载到本地,比如下载E:\forge
并安装。

3.创建全局变量

创建全局变量

4.编写脚本

在需要加密的登录接口的Pre-request-Script页签中,编写如下代码。

if (!pm.globals.has("forgeJS")) {
    
    
    pm.sendRequest("https://raw.githubusercontent.com/loveiset/RSAForPostman/master/forge.js", function (err, res) {
    
    
        if (err) {
    
    
            console.log(err);
        } else {
    
    
            pm.globals.set("forgeJS", res.text());
        }
    })
} else {
    
    
    eval(postman.getGlobalVariable("forgeJS"));
// 公钥
var rsa_public_key = pm.globals.get("RSA");               
var publicKey = forge.pki.publicKeyFromPem(rsa_public_key);

//rsa加密得到签名
 var encryptedText = forge.util.encode64(publicKey.encrypt(pm.environment.get("raw_sword"), 'RSAES-PKCS1-V1_5', {
    
    
    md: forge.md.sha1.create(),
    mgf1: {
    
    
        md: forge.md.sha1.create()
    }
    }));
 
//将加密得到的签名放到环境变量中
pm.environment.set("sword",encryptedText);
}

代码解析:
1、第12行公钥是从全局变量中获得的,要实现填写好它的值,方便进行引用。也可以直接写到代码中,但是太长了,所有这里直接设置到全局变量中。
12行

2、第16行原始密码是从环境变量中获取的,可以根据需要填写需要加密的密码串。
加密

总结

以上就是今天要讲的内容,本文仅仅简单介绍了在postman中怎么使用RSA进行加密。

猜你喜欢

转载自blog.csdn.net/liangxiaoyan0426/article/details/130888266
今日推荐