我有一个包含3个环境变量的列表,我想在base64中绑定它们并对它们进行编码(Key + value)。 来自例子, 3变量现在存储为键值变量,我需要的是base64编码: { “VAR1”:“313”, “VAR2”:“33344”, “VAR3”:“rovkssj”, } 我想应该使用脚本来创建json并对其进行编码。
感谢您的帮助 罗恩
答案 0 :(得分:6)
Postman使用内置模块CryptoJS
。 可以用于帮助您接近解决方案。
如果您将其添加到Pre-request Script
或Tests
标签并发送请求,您将在Postman控制台中看到Base64会话的输出。在示例中,我获得了“VAR1”和“VAR1”。 environment variable
并将其用作要转换的值。
var CryptoJS = require("crypto-js")
//Encrypt
var rawStr = CryptoJS.enc.Utf8.parse(pm.environment.get('VAR1'))
var base64 = CryptoJS.enc.Base64.stringify(rawStr)
console.log(`Encrypted value: ${base64}`)
//Decrypt
var parsedWord = CryptoJS.enc.Base64.parse(base64)
var parsedStr = parsedWord.toString(CryptoJS.enc.Utf8)
console.log(`Decrypted value: ${parsedStr}`)
Postman Console输出:
这可能不是您需要的确切解决方案,但希望这会让您更接近实现您需要做的事情。
答案 1 :(得分:0)
我看到,在@ danny-dainton给出的答案中,他正在导入JS库。没必要。
您可以只使用btoa和atob函数。 Reference
在邮递员中,这是(在您的Tests
/ Pre-request Script
标签中)
var str = "Hello World!";
var encodedValue = btoa(str);
var decodedValue = atob(encodedValue);
因此,根据您的情况来解码{ "VAR1": "313", "VAR2": "33344", "VAR3": "rovkssj", }
你可以做
var str = "{ \"VAR1\": \"313\", \"VAR2\": \"33344\", \"VAR3\": \"rovkssj\", }";
var encodedValue = btoa(str);
PS:我只想补充一下您的JSON { "VAR1": "313", "VAR2": "33344", "VAR3": "rovkssj", }
无效,因为末尾还有一个额外的,
。