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

Postman 的 Pre-request Script 使用RSA加解密

文章目录

      • 一、概述

一、概述

Postman内置的Js不支持进行RSA加解密,所以需要引入forgeJS来实现。在 Pre-request Script使用以下脚本:

// ------ 导入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());executeRSAOperations();}});
} else {executeRSAOperations();
}function executeRSAOperations() {// 引入 forge 库eval(pm.globals.get("forgeJS"));// 原始 JSON 数据const jsonData = {"key1": "value1","key2": "value2"};// 将 JSON 数据转换为字符串const jsonString = JSON.stringify(jsonData);// RSA 公钥const publicKeyPem = `-----BEGIN PUBLIC KEY-----公钥内容-----END PUBLIC KEY-----`;// RSA 私钥const privateKeyPem = `-----BEGIN PRIVATE KEY-----私钥内容-----END PRIVATE KEY-----`;// 使用公钥进行 RSA 加密const publicKey = forge.pki.publicKeyFromPem(publicKeyPem);const encryptedBytes = publicKey.encrypt(forge.util.encodeUtf8(jsonString));const encryptedData = forge.util.encode64(encryptedBytes);// 使用私钥进行 RSA 解密const privateKey = forge.pki.privateKeyFromPem(privateKeyPem);const decryptedBytes = privateKey.decrypt(forge.util.decode64(encryptedData));const decryptedData = forge.util.decodeUtf8(decryptedBytes);// 输出加密和解密结果console.log("加密后数据:", encryptedData);console.log("解密后数据:", decryptedData);// 更新请求的 Body 数据为加密后的内容pm.request.body.raw = encryptedData;
}
http://www.lryc.cn/news/127867.html

相关文章:

  • 【Swagger】只需要3步搭建Swagger环境,就可以让你的项目实现Swagger在线文档,实时浏览,修改展示
  • pytest运行时参数说明,pytest详解,pytest.ini详解
  • Matplotlib绘图知识小结--Python数据分析学习
  • mouseover、mouseout和mouseenter、mouseleave之间的区别(配对使用)
  • 【论文阅读】基于深度学习的时序预测——Autoformer
  • 【AI】《动手学-深度学习-PyTorch版》笔记(十五):网络中的层、块和参数
  • Flink之Task解析
  • 计算机竞赛 python 爬虫与协同过滤的新闻推荐系统
  • 如何使用Kali Linux进行密码破解?
  • 【Freertos基础教程】任务管理之基本使用
  • VMware安装BC-linux-eluer 21.10,配置网络
  • 2023最新Windows编译ffmpeg详细教程,附msys2详细安装配置教程
  • 【SpringBoot】87、SpringBoot中集成Redisson实现Redis分布式锁
  • 宝藏级画图工具-drawio
  • 36_windows环境debug Nginx 源码-使用 VSCode 和WSL
  • 海康威视iVMS综合安防系统任意文件上传(0Day)
  • SOME/IP通信对数据包的大小有要求
  • 苹果电脑会自动清理垃圾吗 苹果电脑系统垃圾怎么清除
  • 【0216】stats collector(统计信息收集器)资源初始化之获取IPV4套接字地址信息(2)
  • uni-app 面容、指纹识别插件(uni-face-login)
  • 专治疗懒病:GO、KEGG富集分析一体函数
  • pygame第6课——贪吃蛇小游戏
  • iptables之iptables表、链、规则 、匹配模式、扩展模块、连接追踪模块(一)
  • Mac 卸载appium
  • 数据结构----哈夫曼树
  • Spring之Aop切面---日志收集(环绕处理、前置处理方式)--使用/教程/实例
  • UE4/UE5 照明构建失败 “Lightmass crashed”解决“数组索引越界”
  • 并发编程系列-Semaphore
  • 3年 Android 开发的面试心经(后悔当初没有拿 N+1)
  • 【c语言】 -- 指针进阶