我有3个要绑定并在base64中对其进行编码(键+值)的环境变量的列表。在示例中,现在将3变量存储为键值变量,而我需要在此上进行base64编码:{“ VAR1”:“ 313”,“ VAR2”:“ 33344”,“ VAR3”:“ rovkssj “,}我想应该使用脚本来创建json并对其进行编码。
感谢您的帮助Ronen
邮递员使用内置模块CryptoJS。这可以用来使您接近解决方案。
如果将其添加到Pre-request Script或Tests选项卡中并发送请求,您将在Postman控制台中看到Base64对话的输出。在示例中,我获取了“ 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}`)
Run Code Online (Sandbox Code Playgroud)
邮递员控制台输出:
这可能不是您需要的确切解决方案,但希望它使您更接近实现所需的操作。
我看到,在 @danny-dainton 给出的答案中,他正在导入一个 JS 库。那是不必要的。
您可以只使用 btoa 和 atob 函数。 参考
在邮递员中,这将是(在您的Tests/Pre-request Script选项卡中)
var str = "Hello World!";
var encodedValue = btoa(str);
var decodedValue = atob(encodedValue);
Run Code Online (Sandbox Code Playgroud)
所以在你的情况下解码{ "VAR1": "313", "VAR2": "33344", "VAR3": "rovkssj", }
你可以这样做
var str = "{ \"VAR1\": \"313\", \"VAR2\": \"33344\", \"VAR3\": \"rovkssj\", }";
var encodedValue = btoa(str);
Run Code Online (Sandbox Code Playgroud)
PS:我只是想补充一点,您的 JSON{ "VAR1": "313", "VAR2": "33344", "VAR3": "rovkssj", }无效,因为,末尾有一个额外的内容。
| 归档时间: |
|
| 查看次数: |
4720 次 |
| 最近记录: |