之前的文章中使用RSA解密获得了AES密码的明文,下一步就需要使用AES密码解密参数密文。还是使用Postman自带的加密函数cryptoJS,实现AES解密。
sencrypt(word, keyStr):分别传递密文参数和上文中获取的AES密码;
CryptoJS.enc.Utf8.parse(keyStr):进行格式转换;
CryptoJS.enc.Base64.parse(word:进行转码;
CryptoJS.enc.Base64.stringify(base64):加密哈希;
CryptoJS.AES.decrypt():使用ECB模式和CryptoJS.pad.Pkcs7填充方式对密文进行解密;然后对得到的明文数据进行转码。
//---------AES 解密------------//
function sencrypt(word, keyStr){
var key = CryptoJS.enc.Utf8.parse(keyStr);
let base64 = CryptoJS.enc.Base64.parse(word);
let srcs = CryptoJS.enc.Base64.stringify(base64);
console.log('content:'+word);
var encrypted = CryptoJS.AES.decrypt(srcs, key, {mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7});
aaa=encrypted.toString(CryptoJS.enc.Utf8);
console.log(aaa);
return aaa.toString();
}
dataText = sencrypt(encdata, keyText);
console.log(dataText);
dataTextJ = JSON.parse(dataText);//Json化
console.log(dataTextJ);
datasign = dataTextJ.sign;//获取sign签名,验签获取原始拼接数据
console.log(datasign);
datalist = dataTextJ.data;//获取data的数据
console.log('datalist:::'+datalist);
对于获得的明文转换成JSON格式,分别获取data数据和sign数据,如果需要展示获取到的数据,就需要把data里的数据继续提取并展示你想看到的,如果想要比对data数据是否与sign的一致性,就需要按照《Postman报文进行加密之RSA+Bate64》对datalist进行加密,比对是否与sign一致。
到这里就把本次工作中应用的加解密操作记录完毕,以后再使用到新的加密方式时,再记录并分享。
本文暂时没有评论,来添加一个吧(●'◡'●)