????3.????????????????????????
???????????????????????????c++??C#??java????????????????????????????????C#???????????е????????????????м????Sample.cs????????????????????????????????WXBizMsgCrypt.cs??Cryptography.cs?????????ü??ɡ??????????????????????????????????WeChatSecurityHelper
???????е??????????????????????м????EncryptMsg????????DecryptMsg???????????WXBizMsgCrypt?????????????????????????????????????

1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Threading.Tasks;
6
7 namespace Common
8 {
9     public class WeChatSecurityHelper
10     {
11         /// <summary>
12         /// ????Token???????????????Token???????
13         /// </summary>
14         private const string Token = "StupidMe";
15         /// <summary>
16         /// AppId ??? ???????? ??? AppId ???????
17         /// </summary>
18         private const string AppId = "11111111111";
19         /// <summary>
20         /// ??????
21         /// </summary>
22         private const string AESKey = "pvX2KZWRLQSkUAbvArgLSAxCwTtxgFWF3XOnJ9iEUMG";
23
24         private static Tencent.WXBizMsgCrypt wxcpt = new Tencent.WXBizMsgCrypt(Token?? AESKey?? AppId);
25         private string signature??timestamp??nonce;
26         private static LogHelper logger = new LogHelper(typeof(WeChatSecurityHelper));
27
28
29         public WeChatSecurityHelper(string signature?? string timestamp?? string nonce)
30         {
31             this.signature = signature;
32             this.timestamp = timestamp;
33             this.nonce = nonce;
34         }
35
36         /// <summary>
37         /// ???????
38         /// </summary>
39         /// <param name="msg">?????????</param>
40         /// <returns>?????????</returns>
41         public string EncryptMsg(string msg)
42         {
43             string encryptMsg="";
44             int result = wxcpt.EncryptMsg(msg?? timestamp?? nonce?? ref encryptMsg);
45             if (result == 0)
46             {
47                 return encryptMsg;
48             }
49             else
50             {
51                 logger.Error("??????????");
52                 return "";
53             }
54         }
55
56         /// <summary>
57         /// ???????
58         /// </summary>
59         /// <param name="msg">?????</param>
60         /// <returns>???????</returns>
61         public string DecryptMsg(string msg)
62         {
63             string decryptMsg = "";
64             int result = wxcpt.DecryptMsg(signature?? timestamp?? nonce?? msg??ref decryptMsg);
65             if (result != 0)
66             {
67                 logger.Error("???????????result:"+result);
68             }
69             return decryptMsg;
70         }
71     }
72 }