cuiqian2004
2025-07-10 2db331628bbf94deee446d6e172e98f4db474a33
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
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("解密异常") 
        }
    })
}