文章目录
前言
在接口测试或者性能测试中,经常会遇到要对数据进行加密的情况。本文主要介绍的是利用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行公钥是从全局变量中获得的,要实现填写好它的值,方便进行引用。也可以直接写到代码中,但是太长了,所有这里直接设置到全局变量中。
2、第16行原始密码是从环境变量中获取的,可以根据需要填写需要加密的密码串。
总结
以上就是今天要讲的内容,本文仅仅简单介绍了在postman中怎么使用RSA进行加密。
版权归原作者 进击的程序媛abc 所有, 如有侵权,请联系我们删除。