type messageEntity struct {
Signature string `form:"signature"`
Timestamp string `form:"timestamp"`
Nonce string `form:"nonce"`
EchoStr string `form:"echostr"`
}
func (m *messageEntity) CheckSignature(token string) bool {
item := []string{token, m.Timestamp, m.Nonce}
sort.Strings(item)
itemByte := strings.Join(item, "")
signature := fmt.Sprintf("%x", sha1.Sum([]byte(itemByte)))
return signature == m.Signature
}