· 7 years ago · Apr 25, 2018, 11:04 PM
1function decrypt(token) {
2 var password = pm.environment.get('YOUR_PASSWORD_ENV_VARIABLE_NAME');
3 var iterations = 1;
4 var keySize = 256;
5
6 var parts = token.split('*');
7 var encryptionSalt = parts[2];
8 var encryptionIv = parts[3];
9 var encryptedB64 = parts[4];
10
11 var ct = CryptoJS.enc.Base64.parse(Buffer.from(encryptedB64, 'base64').toString('base64'));
12 var secretKey = CryptoJS.PBKDF2(password, encryptionSalt, {
13 keySize: keySize / 32,
14 iterations: iterations
15 });
16 var iv = CryptoJS.enc.Base64.parse(Buffer.from(encryptionIv, 'base64').toString('base64'));
17
18 var decrypted = CryptoJS.AES.decrypt({ ciphertext: ct }, secretKey, {
19 iv: iv,
20 mode: CryptoJS.mode.CBC,
21 padding: CryptoJS.pad.Pkcs7
22 });
23
24 return JSON.parse(decrypted.toString(CryptoJS.enc.Utf8));
25}
26
27var data = JSON.parse(responseBody);
28var decrypted = decrypt(data);
29
30pm.environment.set('YOUR_TOKEN_ENV_VARIABLE_NAME', decrypted.token);