import CryptoJS from "crypto-js" export function wxDecryptData(appId, sessionKey,encryptedData, iv) { // base64 decode return new Promise((res,rej)=>{ // #ifdef MP-ALIPAY // 解密 let sessionKey3 = CryptoJS.enc.Base64.parse(sessionKey) let iv3 = CryptoJS.enc.Base64.parse(iv) let decrypt = CryptoJS.AES.decrypt(encryptedData, sessionKey3, { iv:iv3, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); let decoded = decrypt.toString(CryptoJS.enc.Utf8); decoded = JSON.parse(decoded) //console.log("wxDecryptData",decoded) if (decoded.watermark.appid !== appId) { //console.log("wxDecryptData 解密异常",appId) rej("解密异常") } else{ res(decoded) } // #endif // #ifndef MP-ALIPAY try { // 解密 let sessionKey3 = CryptoJS.enc.Base64.parse(sessionKey) let iv3 = CryptoJS.enc.Base64.parse(iv) let decrypt = CryptoJS.AES.decrypt(encryptedData, sessionKey3, { iv:iv3, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); let decoded = decrypt.toString(CryptoJS.enc.Utf8); decoded = JSON.parse(decoded) //console.log("wxDecryptData",decoded) if (decoded.watermark.appid !== appId) { //console.log("wxDecryptData 解密异常",appId) rej("解密异常") } else{ res(decoded) } } catch (err) { //console.log("wxDecryptData catch",err) rej("解密异常") } // #endif }) } export function feishuDecryptData(appId, sessionKey,encryptedData, iv) { // base64 decode // console.log("feishuDecryptData ",appId, sessionKey,encryptedData, iv) return new Promise((res,rej)=>{ try { var sessionKey3 = CryptoJS.enc.Hex.parse(sessionKey) var iv3 = CryptoJS.enc.Hex.parse(iv) var decrypt = CryptoJS.AES.decrypt(encryptedData, sessionKey3, { iv:iv3, mode: CryptoJS.mode.CBC, }) ; //console.log("feishuDecryptData decrypt",decrypt) var decoded = decrypt.toString(CryptoJS.enc.Utf8); //console.log("feishuDecryptData decoded",decoded) let json = JSON.parse(decoded) //console.log("feishuDecryptData json",json) if (json.watermark.appid !== appId) { //console.log("feishuDecryptData 解密异常",appId) rej("解密异常") } else{ res(json) } } catch (err) { //console.log("feishuDecryptData catch",err) rej("解密异常") } }) }