Postman 中 Tests 解密脚本 CryptoJS-AES-ECB-128

发布时间 2023-09-05 22:24:00作者: ZIU_zixu

参考链接:http://jser.io/2014/08/19/how-to-use-aes-in-crypto-js-to-encrypt-and-decrypt

Aug 19, 2014

 

//打印查看需解密的内容

console.log(pm.response.json().data)

// 一般 key 为一个字符串

const keyStr = 'ssssssssssssssss';

// 字符串类型的 key 用之前需要用 uft8 先 parse 一下才能用

const key = CryptoJS.enc.Utf8.parse(keyStr);

 

// 拿到字符串类型的密文需要先将其用 Hex 方法 parse 一下

const encryptedHexStr = CryptoJS.enc.Hex.parse(pm.response.json().dat a);

// 将密文转为 Base64 的字符串

// 只有 Base64 类型的字符串密文才能对其进行解密

const encryptedBase64Str = CryptoJS.enc.Base64.stringify(encryptedHex Str);

// 解密

const decryptedData = CryptoJS.AES.decrypt(encryptedBase64Str, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 });

 

 

// 解密后,需要按照 Utf8 的方式将明文转位字符串

const decryptedStr = decryptedData.toString(CryptoJS.enc.Utf8);

//JSON.parse(),将 string 转换成 object

console.log(JSON.parse(decryptedStr));

console.log(typeof(JSON.parse(decryptedStr)));

//打印查看解密对象内容

console.log(JSON.parse(decryptedStr).results[0])