MCPcopy
hub / github.com/silenceper/wechat / DecryptMsg

Function DecryptMsg

util/crypto.go:81–107  ·  view source on GitHub ↗

DecryptMsg 消息解密

(appID, encryptedMsg, aesKey string)

Source from the content-addressed store, hash-verified

79
80// DecryptMsg 消息解密
81func DecryptMsg(appID, encryptedMsg, aesKey string) (random, rawMsgXMLBytes []byte, err error) {
82 defer func() {
83 if e := recover(); e != nil {
84 err = fmt.Errorf("panic error: err=%v", e)
85 return
86 }
87 }()
88 var encryptedMsgBytes, key, getAppIDBytes []byte
89 encryptedMsgBytes, err = base64.StdEncoding.DecodeString(encryptedMsg)
90 if err != nil {
91 return
92 }
93 key, err = aesKeyDecode(aesKey)
94 if err != nil {
95 panic(err)
96 }
97 random, rawMsgXMLBytes, getAppIDBytes, err = AESDecryptMsg(encryptedMsgBytes, key)
98 if err != nil {
99 err = fmt.Errorf("消息解密失败,%v", err)
100 return
101 }
102 if appID != string(getAppIDBytes) {
103 err = fmt.Errorf("消息解密校验APPID失败")
104 return
105 }
106 return
107}
108
109func aesKeyDecode(encodedAESKey string) (key []byte, err error) {
110 if len(encodedAESKey) != 43 {

Callers 5

VerifyURLMethod · 0.92
GetCallbackMessageMethod · 0.92
GetCallbackMessageMethod · 0.92
GetMsgMethod · 0.92
getMessageMethod · 0.92

Calls 2

aesKeyDecodeFunction · 0.85
AESDecryptMsgFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…