当前位置: 首页 > news >正文

设计的网站织梦模板安装

设计的网站,织梦模板安装,wordpress 显示评论内容,aso排名服务公司前言: 很对小伙伴对于psotman接口加密不知道如何解决,这里给大家出了一个全网最详细的解决方案,希望能帮助到大家 问题 postman内置加密Api,但不支持RSA加解密码。如何用postman进入rsa加解密?postman中request对象…

前言:

很对小伙伴对于psotman接口加密不知道如何解决,这里给大家出了一个全网最详细的解决方案,希望能帮助到大家

问题

  1. postman内置加密Api,但不支持RSA加解密码。如何用postman进入rsa加解密?
  2. postman中request对象属性皆为只读,如何把提交时的明文变为密文?

解决问题一

  • postman支持eval函数,我们只要将rsa代码存入环境变量中,在需要的时候调用eval函数就可以解决

解决问题二

  • postman在每次请求时都会先执行pre-request scripts 中的脚本,在此处我们可以通过request对象拿到
    此次请求的参数,但request中的参数只可读。 
    所以我们只能通过环境变量去占位然后在去加密变量中的值,于是在请求时的内容就会变成加密的内容。
    针对postman对{{}}读取的方式,我们可以先在请求参数中将要加密的内容包裹进来,然后在动态创建此变量,
    并将变量的加密内容写入此环境变量中,最后在执行请求完毕后将此变量清除

例子

AES加密参数

  1. 必需用{{}}将内容包起来,因为在进行请求后postman遇到{{}}时会从环境变量中读取,如果有该环境变量则会动态替换。
  2. $符号后面是我们要加密的内容,可以直接填写内容或写入环境变量的名称

    动态生成的环境变量

    如果不想在环境变量夹中显示动态生成的环境变量可以将下方tests中的脚本加入到tests中 

相关脚本

  • 注意:将脚本加入到collections中会更好
  • Pre-request Scripts
 
// ------ 通用方法 ------
// 提取{{}}中内容
function getBracketStr(text) {let result = ''let regex = /\{\{(.+?)\}\}/g;let options = text.match(regex);if (options && options.length > 0) {let option = options[0];if (option) {result = option.substring(2, option.length - 2)}}return result
}// ------ 导入RSA ------
if(!pm.globals.has("forgeJS")){pm.sendRequest("https://raw.githubusercontent.com/loveiset/RSAForPostman/master/forge.js", (err, res) => {if (!err) {pm.globals.set("forgeJS", res.text())}
})}eval(postman.getGlobalVariable("forgeJS"));// ------------ AES 加密 ------------
function aesEncrypt(content){//console.log('AES: ' + content);const key = CryptoJS.enc.Utf8.parse("Y5MUIOM7BUWI7BQR");const iv = CryptoJS.enc.Utf8.parse('S41AXIPFRFVJL73Z');const encrypted = CryptoJS.AES.encrypt(content, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7});return encrypted.toString();
}// ------------ RSA 加密 ------------
function rsaEncrypt(content){const pubKey = pm.environment.get("RSA_Public_Key");if(pubKey){const publicKey = forge.pki.publicKeyFromPem(pubKey);const encryptedText = forge.util.encode64(publicKey.encrypt(content, 'RSAES-PKCS1-V1_5', {md: forge.md.sha1.create(),mgf: forge.mgf.mgf1.create(forge.md.sha1.create())}));return encryptedText;}
}// ------ 存储所有未加密环境变量 ------
if(!pm.environment.has('localStore')){pm.environment.set('localStore', '{}');
}
let localStore = JSON.parse(pm.environment.get('localStore'));
// 获取当前请求中的加密变量
let requestData; 
if((typeof request.data) === 'string'){requestData = JSON.parse(request.data)
} else {requestData = request.data;
}requestData = Object.assign(requestData, request.headers);
Object.keys(requestData).map(key => {let value = requestData[key] + ''; // 内容if (value.indexOf('{{') !== -1) { // 是否为变量let content = getBracketStr(value);// 判断是否加密if (content.indexOf('aes$') !== -1) {let c = content.split('aes$')[1];let encryptedContent = pm.environment.get(c); // 加密内容encryptedContent = encryptedContent ? encryptedContent : c;pm.environment.set(content, aesEncrypt(encryptedContent));localStore[content] = aesEncrypt(encryptedContent);} else if (content.indexOf('rsa$') !== -1) {let c = content.split('rsa$')[1];let encryptedContent = pm.environment.get(c); // 加密内容encryptedContent = encryptedContent ? encryptedContent : c;pm.environment.set(content, rsaEncrypt(encryptedContent));localStore[content] = rsaEncrypt(encryptedContent);}}
});pm.environment.set('localStore', JSON.stringify(localStore));
  • Tests scripts

 

// 还原变量
if(!pm.environment.has('localStore')){pm.environment.set('localStore', '{}');
}
let localStore = JSON.parse(pm.environment.get('localStore'));
Object.keys(localStore).map(key => {pm.environment.unset(key)
});pm.environment.unset('localStore')

 

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取   

 

http://www.yayakq.cn/news/498403/

相关文章:

  • 有帮人做网站的人吗好网站你知道的
  • 泉州做网站设计小程序是什么东西
  • 织梦网站开发视频教程网站建设需要具备的能力
  • 北京市网站建设 维护推荐徐州网站seo公司
  • 莱芜大集快速seo排名优化
  • 做游戏的网站的公司买布做衣裳 在哪个网站买好
  • 生态农业网站建设方案广州科技网站建设
  • 郑州住房和城乡建设厅网站智慧团建注册志愿者入口
  • 潍坊外贸网站建设商标做网站logo
  • 哪个网站做婚礼邀请函好青岛网站推
  • 上海市奉贤区建设局网站网站域名空间怎么买
  • 湖北建设执业资格注册中心网站网站建设的功能描述
  • wap小说网站源码网站建设方案书是什么
  • 遵义做网站多少钱ih5做自适应网站
  • 外贸网站建设知识 列表手动更新wordpress
  • 做网站如何使用特殊字体自己做网站需要哪些软件
  • 专做宠物的网站淘宝官网首页登录入口
  • 如何给自己网站做外链天津建设电工证查询网站
  • 广东购物网站建设杭州 网站开发
  • 南阳做网站aokuowordpress可以做相册吗
  • 免费在线网站模板网站手机端排名怎么做
  • 泾阳县住房和城乡建设局网站分类网站建设多少钱
  • 自贡做网站的公司免费招收手游代理
  • 广告联盟没网站可以做吗wordpress只收录首页
  • 网站建设的目录浏览wordpress qq微信登陆地址修改
  • 宿迁商城网站建设做菠菜网站判多久
  • 国内用什么做网站建设广州公司网站
  • 如何自建一个便宜的网站景区微网站 建设方案
  • 做网站的人广告联盟挂机赚钱
  • 专业的天津网站建设嵌入式软件工程师培训