From 65a495ab987fa94dcc4e05dc0363a5384fac25ff Mon Sep 17 00:00:00 2001 From: yangduo Date: Mon, 13 Jan 2025 15:07:20 +0800 Subject: [PATCH] adjust --- .../api/v1/mainservice/mainservice.go | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/server/payserver/api/v1/mainservice/mainservice.go b/server/payserver/api/v1/mainservice/mainservice.go index 65195dd..585cd03 100644 --- a/server/payserver/api/v1/mainservice/mainservice.go +++ b/server/payserver/api/v1/mainservice/mainservice.go @@ -78,18 +78,23 @@ func (this *MainServiceApi) WxNotifyPurchase(c *gin.Context) { timestamp := c.Query("timestamp") nonce := c.Query("nonce") - strs := []string{mt.Table.Config.GetWxNotifyToken(), timestamp, nonce} - sort.Strings(strs) - sb := strings.Builder{} - sb.WriteString(strs[0]) - sb.WriteString(strs[1]) - sb.WriteString(strs[2]) - m := sha1.New() - io.WriteString(m, sb.String()) - sign := string(m.Sum(nil)) + if len(signature) > 0 || len(timestamp) > 0 || len(nonce) > 0 { + strs := []string{mt.Table.Config.GetWxNotifyToken(), timestamp, nonce} + sort.Strings(strs) + sb := strings.Builder{} + sb.WriteString(strs[0]) + sb.WriteString(strs[1]) + sb.WriteString(strs[2]) + m := sha1.New() + io.WriteString(m, sb.String()) + sign := string(hex.EncodeToString(m.Sum(nil))) - f5.GetSysLog().Debug("wx sign:%s, %s", sign, signature) - if sign != signature { + f5.GetSysLog().Debug("wx sign:%s, %s", sign, signature) + if sign != signature { + c.String(200, "wrong") + return + } + c.String(200, c.Query("echostr")) return }