diff --git a/encrypt_test.go b/encrypt_test.go new file mode 100644 index 0000000..5f74771 --- /dev/null +++ b/encrypt_test.go @@ -0,0 +1,50 @@ +package main + +import "testing" + +func setupConfig() { + APIConfig = WechatAPIConfig{ + "skdq8vklaurfqemfszuif", + "cmtWK2teRnLOXyO5dw7lJkETv9jCeNAqYyguEu5D8gG", + "wx876e233fde456b7b", + "4a91aa328569b10a9fb97adeb8b0af58"} +} +func TestEncodingMesage(t *testing.T) { + setupConfig() + + //明文: + var msg = ` + +1492972518 + + + +` + + e := Encode(msg) + t.Log(e) + d := Decode(e) + + if d != msg { + t.Error("encode a message then decode it failed") + } + + //预先加密和的密文,和msg相同 + var encrypted1 = "P2DoRtilYwJ1aM+VW1sGs6p11Rhcd/TrFYtvsw53SUVw2Knh27hF5IZUBxRXbz+k87zy983ec5aOwgS+WxYoejmGubaqiYy2yfCBNyGRlWfe+iWc2TnvPIEAJebSWuNOJ7FoITeMndr4tW391XxDdMom8I/VsqKnsZZAangUsxmA1ZEnP/d4Lx8/xt3qJKrJMa4Q8s9VsOOvzLIGhL1IN5bHaXN+CwgBTAUCrHD8AneiX5MLSv/74qozg+jKBSUebZrjRYuTymQ3TBh3pQXyRBQTZNrCAe1tlcNli9e5MSUMsHFIzGw/kiu93/5VkxCYRLgRDQKl9oam4+Rpxywir7EiT7I4X343l9ogcMLWX16evkLlQHoqBhLl6ZcfW7Nmq8/Ghy8jbuwqkR/0jLJ/avtjzgJOwaxdBUz4nYZ452rLJekxIvsmV6PZgCXRrKHzmpZX+i6hIRIWiIaDeMOEsw==" + //不同的密文: (相同的明文) + var encrypted2 = "yKlFGV+ukblgxH7PvN6jgCGGC8TkC6J9C0F1XnvcLQKS9R5RSJYib4EZZftpyfc5x6WDfM7++vunEawNz54Gu4746byRaqQyW9G6zX7o6ro5YDGbNuYpBflwi6bNM6hncIKYb8oH3VFHEvSsUb1eg4fNwdebeEhpixDlPPbwAUXOZ7FcN6UWkSiZhZMKZNSv42+u9GK/nFEv1Fa8nW4NWNLXU4V2OFM+5d0lAGb0I9pD69IsuUFeBuJ8ZOGPB4EVKI2xODpicJkYP3ym5ePpz3GC4EFk5JwIiPw+EYbqKH0ADNhrsRHtAzLh6rjyNWCVkij68XmWBJ8I8l38a/zycFZ4uvef7ceEByvhKIVM7p/eO55NOl/F6W6hmEQwOgw/7tPjrErA4aPuijPAjgtVw0ngb32O9/XRSe91h802oyhWwnoQgTF7tZqKLpJLxM9g+BiUar/13j0eivql0B6gWg==" + + f := Decode(encrypted1) + g := Decode(encrypted2) + + //t.Log(f) + //t.Log(g) + if f != g { + t.Error("decoding two different encryption to same message failed") + } + + if f != msg { + t.Error("Decoding itself failed") + } + +} diff --git a/inEvent.go b/inEvent.go new file mode 100644 index 0000000..06ab7d0 --- /dev/null +++ b/inEvent.go @@ -0,0 +1 @@ +package main diff --git a/inMsg.go b/inMsg.go new file mode 100644 index 0000000..b9bc7b1 --- /dev/null +++ b/inMsg.go @@ -0,0 +1,60 @@ +//analyze xml message +package main + +//all xml message has these headers +type Header struct { + ToUserName string + FromUserName string + CreatTime int64 + MsgType string +} + +//text message +type TextMsg struct { + Content string + MsgId int64 +} + +//picture +type PicMsg struct { + PicUrl string + MeidaId string + MsgId int64 +} + +//voice +type VoiceMsg struct { + MeidaId string + Format string + MsgId int64 +} + +//video +type VideoMsg struct { + MediaId string + ThumbMediaId string + MsgId int64 +} + +//short video +type ShortVideo struct { + MeidaId string + ThumbMediaId string + MsgId int64 +} + +//Location Info +type Location struct { + Location_X float64 + Location_Y float64 + Scale int + Label string + MsgId int64 +} + +type LinkMsg struct { + Title string + Description string + Url string + MsgId int64 +} diff --git a/messageEncrypt.go b/messageEncrypt.go index b792969..96892a3 100644 --- a/messageEncrypt.go +++ b/messageEncrypt.go @@ -13,7 +13,7 @@ func Encode(s string) string { d := aesEncryptMsg(random16Byte(), []byte(s), APIConfig.Appid, getAesEncryptKey()) r := base64.StdEncoding.EncodeToString(d) - fmt.Println(r) + //fmt.Println(r) return r }