多变量的Base64编码

时间:2018-03-20 09:52:00

标签: postman

我有一个包含3个环境变量的列表,我想在base64中绑定它们并对它们进行编码(Key + value)。 来自例子, 3变量现在存储为键值变量,我需要的是base64编码: {     “VAR1”:“313”,     “VAR2”:“33344”,     “VAR3”:“rovkssj”, } 我想应该使用脚本来创建json并对其进行编码。

感谢您的帮助 罗恩

2 个答案:

答案 0 :(得分:6)

Postman使用内置模块CryptoJS可以用于帮助您接近解决方案。

如果您将其添加到Pre-request ScriptTests标签并发送请求,您将在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 Request

Postman Console输出:

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", }无效,因为末尾还有一个额外的,

相关问题