You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

51 satır
2.0KB

  1. package main
  2. import "testing"
  3. func setupConfig() {
  4. APIConfig = WechatAPIConfig{
  5. "skdq8vklaurfqemfszuif",
  6. "cmtWK2teRnLOXyO5dw7lJkETv9jCeNAqYyguEu5D8gG",
  7. "wx876e233fde456b7b",
  8. "4a91aa328569b10a9fb97adeb8b0af58"}
  9. }
  10. func TestEncodingMesage(t *testing.T) {
  11. setupConfig()
  12. //明文:
  13. var msg = `<xml><ToUserName><![CDATA[gh_f09231355c68]]></ToUserName>
  14. <FromUserName><![CDATA[oUN420bxqFqlx0ZQHciUOesZO3PE]]></FromUserName>
  15. <CreateTime>1492972518</CreateTime>
  16. <MsgType><![CDATA[event]]></MsgType>
  17. <Event><![CDATA[CLICK]]></Event>
  18. <EventKey><![CDATA[V1001_TODAY_MUSIC]]></EventKey>
  19. </xml>`
  20. e := Encode(msg)
  21. t.Log(e)
  22. d := Decode(e)
  23. if d != msg {
  24. t.Error("encode a message then decode it failed")
  25. }
  26. //预先加密和的密文,和msg相同
  27. var encrypted1 = "P2DoRtilYwJ1aM+VW1sGs6p11Rhcd/TrFYtvsw53SUVw2Knh27hF5IZUBxRXbz+k87zy983ec5aOwgS+WxYoejmGubaqiYy2yfCBNyGRlWfe+iWc2TnvPIEAJebSWuNOJ7FoITeMndr4tW391XxDdMom8I/VsqKnsZZAangUsxmA1ZEnP/d4Lx8/xt3qJKrJMa4Q8s9VsOOvzLIGhL1IN5bHaXN+CwgBTAUCrHD8AneiX5MLSv/74qozg+jKBSUebZrjRYuTymQ3TBh3pQXyRBQTZNrCAe1tlcNli9e5MSUMsHFIzGw/kiu93/5VkxCYRLgRDQKl9oam4+Rpxywir7EiT7I4X343l9ogcMLWX16evkLlQHoqBhLl6ZcfW7Nmq8/Ghy8jbuwqkR/0jLJ/avtjzgJOwaxdBUz4nYZ452rLJekxIvsmV6PZgCXRrKHzmpZX+i6hIRIWiIaDeMOEsw=="
  28. //不同的密文: (相同的明文)
  29. var encrypted2 = "yKlFGV+ukblgxH7PvN6jgCGGC8TkC6J9C0F1XnvcLQKS9R5RSJYib4EZZftpyfc5x6WDfM7++vunEawNz54Gu4746byRaqQyW9G6zX7o6ro5YDGbNuYpBflwi6bNM6hncIKYb8oH3VFHEvSsUb1eg4fNwdebeEhpixDlPPbwAUXOZ7FcN6UWkSiZhZMKZNSv42+u9GK/nFEv1Fa8nW4NWNLXU4V2OFM+5d0lAGb0I9pD69IsuUFeBuJ8ZOGPB4EVKI2xODpicJkYP3ym5ePpz3GC4EFk5JwIiPw+EYbqKH0ADNhrsRHtAzLh6rjyNWCVkij68XmWBJ8I8l38a/zycFZ4uvef7ceEByvhKIVM7p/eO55NOl/F6W6hmEQwOgw/7tPjrErA4aPuijPAjgtVw0ngb32O9/XRSe91h802oyhWwnoQgTF7tZqKLpJLxM9g+BiUar/13j0eivql0B6gWg=="
  30. f := Decode(encrypted1)
  31. g := Decode(encrypted2)
  32. //t.Log(f)
  33. //t.Log(g)
  34. if f != g {
  35. t.Error("decoding two different encryption to same message failed")
  36. }
  37. if f != msg {
  38. t.Error("Decoding itself failed")
  39. }
  40. }