Linux下使用 Postman 进行接口保护的要点

在 Linux 桌面环境下,Postman 的接口保护主要围绕身份认证、请求加密与签名、敏感信息管理以及本地安全四个方面展开。下面给出可直接落地的做法与脚本示例。
一 身份认证与授权
var jsonData = pm.response.json();pm.environment.set("myToken", jsonData.token || jsonData.access_token);之后在请求头中使用 {{myToken}}。二 请求加密与签名
const CryptoJS = require("crypto-js");function aesEncrypt(content, key, iv) {const encrypted = CryptoJS.AES.encrypt(content, key, { iv: CryptoJS.enc.Utf8.parse(iv), mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });return encrypted.toString();}const key = "Y5MUIOM7BUWI7BQR"; const iv = "S41AXIPFRFVJL73Z";pm.environment.set("encUser", aesEncrypt("admin", key, iv));请求体中使用 “username”:“{{encUser}}”。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(pm.globals.get("forgeJS"));function rsaEncrypt(content, pubKeyPem) {const pub = forge.pki.publicKeyFromPem(pubKeyPem);return forge.util.encode64(pub.encrypt(content, 'RSAES-PKCS1-V1_5', { md: forge.md.sha1.create(), mgf: forge.mgf.mgf1.create(forge.md.sha1.create()) }));}pm.environment.set("encPwd", rsaEncrypt("P@ssw0rd", pm.globals.get("RSA_Public_Key")));请求体中使用 “password”:“{{encPwd}}”。// 假设已引入 pmlib(含 KJUR.crypto.Signature),私钥存于环境变量 pri_keyeval(pm.globals.get('pmlib_code'));const privkey = pm.environment.get('pri_key').replace(/n/g, "n");const dataToSign = pm.request.method + "n" +pm.request.url.getPathWithQuery() + "n" +pm.variables.replaceIn('{{$timestamp}}') + "n" +pm.variables.replaceIn('{{$randomUUID}}') + "n" +(pm.request.body?.raw || '');const sig = new pmlib.rs.KJUR.crypto.Signature({alg: "SHA256withRSA"});sig.init(privkey); sig.updateString(dataToSign);const signB64 = pmlib.rs.hextob64(sig.sign());pm.request.headers.add({ key: "Authorization", value: `SHA256-RSA nonce_str={{$randomUUID}},timestamp={{$timestamp}},signature=${signB64}` });const phone = "18211101111", opt = "testfan", ts = new Date().getTime();const sign = CryptoJS.MD5(phone + "your_salt" + ts).toString();pm.environment.set("phone", phone); pm.environment.set("opt", opt);pm.environment.set("timestamp", ts); pm.environment.set("sign", sign);请求体:{ "phoneNum":"{{phone}}", "optCode":"{{opt}}", "timestamp":{{timestamp}}, "sign":"{{sign}}" }三 敏感信息与本地安全
pm.environment.unset("tmp"))。四 快速落地清单
美国隐私法案修订:拟十年拨款10亿禁止AI公司出售健康数据
谷歌 I/O 大会新动作:AI 创作工具升级:多模态生成更“听劝”
谷歌 Gemini Spark 迎来重磅升级:接入 MCP 协议与第三方生态 支持实时主题跟踪
视频版NanoBanana登场!内置Gemini世界知识;原版香蕉出图仅需4秒
126邮箱免费登入入口-126免费邮箱登入入口官网
月泉仿生获数亿元融资:仿生拉压体灵巧手万台量产、订单过亿|36氪首发