diff --git a/sign.go b/sign.go index ba20f4d..d78a86f 100644 --- a/sign.go +++ b/sign.go @@ -17,8 +17,6 @@ func CheckSign(appID, appKey, random, sign string, ts int, data interface{}) boo return false } - v, _ := json.Marshal(data) - m := md5.New() sb := strings.Builder{} @@ -26,7 +24,14 @@ func CheckSign(appID, appKey, random, sign string, ts int, data interface{}) boo sb.WriteByte('-') sb.WriteString(cast.ToString(ts)) sb.WriteByte('-') - sb.Write(v) + + if val, ok := data.(string); ok { + sb.WriteString(val) + } else { + val, _ := json.Marshal(data) + sb.Write(val) + } + sb.WriteByte('-') sb.WriteString(random) sb.WriteByte('-') @@ -44,8 +49,6 @@ func Sign(appID, appKey string, data interface{}) (sign string, random string, t ts = int(time.Now().Unix()) - v, _ := json.Marshal(data) - m := md5.New() sb := strings.Builder{} @@ -53,7 +56,14 @@ func Sign(appID, appKey string, data interface{}) (sign string, random string, t sb.WriteByte('-') sb.WriteString(cast.ToString(ts)) sb.WriteByte('-') - sb.Write(v) + + if val, ok := data.(string); ok { + sb.WriteString(val) + } else { + val, _ := json.Marshal(data) + sb.Write(val) + } + sb.WriteByte('-') sb.WriteString(random) sb.WriteByte('-')