1. 安装homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
2. 安装node
brew uninstall node
brew link node
brew install node
3. 下载forge
git clone https://github.com/digitalbazaar/forge.git
cd 文件夹位置
npm install
4. postman设置环境变量
5. 在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"));
const public_key = '-----BEGIN PUBLIC KEY-----\n'+
'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDORoOSW2gbHl6s/YmS1jWxb954\n'+
'X/jflZ2dK65oM/Bxii2Iba80IiC9+Sa1phmOVDAk+IVDsPNZ+YJ2Qg0hPmoLSLxe\n'+
'f2A6ySJPl5su8TaGOuVZg1SRyk55bjHymQUnxryD/ml1EmBUaGcrs9FCiVBy38kg\n'+
'eZNbCexucVQxn6OYlwIDAQAB\n'+
'-----END PUBLIC KEY-----'
var psd_origin = pm.environment.get('password_origin'); //
var publicKey = forge.pki.publicKeyFromPem(public_key);
var encryptedText = forge.util.encode64(publicKey.encrypt(psd_origin, 'RSAES-PKCS1-V1_5', {
md: forge.md.sha1.create(),
mgf1: {
md: forge.md.sha1.create()
}
}));
console.log(pm.environment.get('password'));
console.log("encrypted text:" + encryptedText);
pm.environment.set("password", encryptedText);
}
public_key
改为自己的公钥
参数的值用双大括号包起来,{{设置的变量名}}