This commit is contained in:
suyl
2021-08-17 14:48:29 +08:00
parent c5cdf1ade1
commit 88d8aa0a2d

View File

@@ -209,17 +209,13 @@ func (a *API) GetCallbackMsg(formMap map[string]interface{}, bodyData []byte) (m
"encrypt": encrypt, "encrypt": encrypt,
} }
signRemote := formMap["signature"].(string) signRemote := formMap["signature"].(string)
fmt.Println("11111111111111111111111111111111111111111")
signMine := a.calculateCallbackSign(dataMap) signMine := a.calculateCallbackSign(dataMap)
if signMine != signRemote { if signMine != signRemote {
baseapi.SugarLogger.Infof("signRemote:%s, signMine:%s, formMap:%s, bodyData:%s", signRemote, signMine, utils.Format4Output(formMap, true), string(bodyData)) baseapi.SugarLogger.Infof("signRemote:%s, signMine:%s, formMap:%s, bodyData:%s", signRemote, signMine, utils.Format4Output(formMap, true), string(bodyData))
err = errors.New("sign not match") err = errors.New("sign not match")
fmt.Println("2222222222222222222222222222222222222222222222222")
} else { } else {
var descryptMsg string var descryptMsg string
fmt.Println("3333333333333333333333333333333333333333333333333333")
if descryptMsg, err = a.Decrypt(formMap["signature"].(string), formMap["timestamp"].(string), formMap["nonce"].(string), encrypt); err == nil { if descryptMsg, err = a.Decrypt(formMap["signature"].(string), formMap["timestamp"].(string), formMap["nonce"].(string), encrypt); err == nil {
fmt.Println("44444444444444444444444444444444444444444444444444444444")
baseapi.SugarLogger.Debugf("dingding GetCallbackMsg descryptMsg:%s", descryptMsg) baseapi.SugarLogger.Debugf("dingding GetCallbackMsg descryptMsg:%s", descryptMsg)
err = utils.UnmarshalUseNumber([]byte(descryptMsg), &msgMap) err = utils.UnmarshalUseNumber([]byte(descryptMsg), &msgMap)
} }
@@ -230,8 +226,14 @@ func (a *API) GetCallbackMsg(formMap map[string]interface{}, bodyData []byte) (m
} }
func NewDingTalkCrypto(token, encodingAESKey, suiteKey string) *DingTalkCrypto { func NewDingTalkCrypto(token, encodingAESKey, suiteKey string) *DingTalkCrypto {
bkey, _ := base64.StdEncoding.DecodeString(encodingAESKey + "=") bkey, err := base64.StdEncoding.DecodeString(encodingAESKey + "=")
block, _ := aes.NewCipher(bkey) if err != nil {
fmt.Println("111111111111111", err)
}
block, err := aes.NewCipher(bkey)
if err != nil {
fmt.Println("22222222222222222", err)
}
c := &DingTalkCrypto{ c := &DingTalkCrypto{
Token: token, Token: token,
EncodingAESKey: encodingAESKey, EncodingAESKey: encodingAESKey,