Postman报文进行解密之RSA私钥解密

接口返回的数据也是加密的,需要对数据解密才能看到返回的数据是否正确,就需要用RSA解密。

返回数据的解析可以在postman的Tests进行后置处理,获取加密后的返回数据:

var data = JSON.parse(responseBody);

var enc = data.data;

var encdata = enc.encdata;

var enckey = enc.enckey;

下面就对密文进行解密:

图片

解密函数priencrypt(),需要把私钥和密文传递给它;

forge.pki.privateKeyFromPem(prienc_key)转换pem格式的公钥;

forge.util.decode64(密文)转码;

privateKey.decrypt()解密函数,把密文按照'RSAES-PKCS1-V1_5'填充方式解密成明文。

最后就得到了明文key,然后再使用key对返回的参数密文进行AES解密。

//--------RSA使用渠道私钥对密文(AES密码)进行解密-------------//function priencrypt(pri_key,encdataText){    console.info('priencrypt_key:'+pri_key);    //注意此处上下的BEGIN PRIVATE KEY不要删除,框架自带的    const prienc_key = '-----BEGIN PRIVATE KEY-----\n'            + pri_key            + '\n-----END PRIVATE KEY-----';    var privateKey = forge.pki.privateKeyFromPem(prienc_key);    var decryptedText = privateKey.decrypt(forge.util.decode64(encdataText), 'RSAES-PKCS1-V1_5', {    md: forge.md.sha1.create(),    mgf1: {        md: forge.md.sha1.create()    }    });    console.info('pulencryptedText: '+ decryptedText);    return decryptedText;}// 第一次运行时从网络加载forgeJS,会导致请求失败if(!pm.globals.has('forgeJS')){    console.log('request forge.js from ' + forge_url);    pm.sendRequest(forge_url, function (err, res) {            if (err) {                console.error(err);            } else {                console.info("request forgs.js: Succeed, please try again");                pm.globals.set('forgeJS', res.text());            }        }    );}eval(pm.globals.get('forgeJS'));keyText = priencrypt(priencrypt_key,enckey);

 

上面是我收集的一些视频资源包

对于软件测试的的朋友来说应该是最全面最完整的备战仓库了,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这个仓库也已经帮助了很多的软件测试的学习者,希望也能帮助到你!

关注我的微信公众号【程序员二黑】免费获取

如果你对软件测试、接口测试、自动化测试、面试经验交流感兴趣欢迎加入:软件测试技术群:785128166 里面有大牛分享学习经验
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值