热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

接口返回的数据也是加密的,需要对数据解密才能看到返回的数据是否正确,就需要用RSA解密。返回数据的解析可以在postman的Tests进行后置处理&#

接口返回的数据也是加密的,需要对数据解密才能看到返回的数据是否正确,就需要用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 里面有大牛分享学习经验
 


推荐阅读
author-avatar
我家有13只妖孽_960
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有