Postman自带的加密函数是cryptoJS能够实现AES+Base64加密,还是用到Postman中的Pre-request Script。Pre-request Script是指在发送报文前执行的脚本,用于对请求包中的各种参数做一些个性化的处理。 接上篇文章,实际获取的sText签名需要传递给源报文参数sign,报文内容如下signText,把报文作为一个整体进行AES加密。 //-------------------------AES Base64 ---------------------------------// var signText = '{"endDate":1554790512000,"pageNo":1," Id ":"410923199305180016","userPhone":"15011385365","sign":"'+sText+'","pageSize":200,"startDate":1552355829000}'; console.log(signText); // AES 加密方法 // word是加密内容,keyStr是秘钥 // ECB:加密算法,padding:对齐方式 // ciphertext:16进制加密,不加此方法就是Base64加密 function encrypt(word, keyStr){ var key = CryptoJS.enc.Utf8.parse(keyStr); var srcs = CryptoJS.enc.Utf8.parse(word); console.log('content:'+word); var encrypted = CryptoJS.AES.encrypt(srcs, key, {mode:CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7}); return encrypted.toString(); } encryptedText = encrypt(signText, vkey); console.log(encryptedText); postman.setGlobalVariable("encryptdata", encryptedText); //encryptdata对应Body中{{encdata}} Encrypt函数实现AES加密,keyStr是AES密码,需要传递自己项目的。AES算法常用的加密模式ECB、CBC、CFB、OFB、CTR,我这的项目使用ECB,这里需要根据实际进行调整,
CryptoJS的具体使用可参考GitHub路径https://github.com/brix/crypto-js。ciphertext:16进制加密,不加此方法就是Base64加密。Padding填充模式有以下几种,也需要根据实际进行调整。 这里得到的encryptedText 才是最终的加密数据,需要使用setGlobalVariable()传给body。
来源: https://blog.csdn.net/tiekun888/article/details/113106124
标签:AES,keyStr,Postman,报文,加密,CryptoJS,ECB From: https://www.cnblogs.com/ywtssydm/p/17025941.html