微信公众平台,服务器配置 C#验证token

首先要开放一个外网接口

ReceiveGZH(string signature, string timestamp, string nonce, string echostr)

然后这里定义个验证微信报文签名的方法

 1         /// <summary>
 2         /// 验证微信签名
 3         /// </summary>
 4         /// <param name="token">token</param>
 5         /// <param name="signature">签名</param>
 6         /// <param name="timestamp">时间戳</param>
 7         /// <param name="nonce">随机数</param>
 8         /// <returns></returns>
 9         public bool CheckSignature(string token, string signature, string timestamp, string nonce)
10         {
11             string[] ArrTmp = { token, timestamp, nonce };
12             //字典排序
13             Array.Sort(ArrTmp);
14             //拼接
15             string tmpStr = string.Join("", ArrTmp);
16             //sha1验证
17             tmpStr = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, "SHA1");
18             //tmpStr = Membership.CreateUser(tmpStr, "SHA1");
19             tmpStr = tmpStr.ToLower();
20 
21             if (tmpStr == signature)
22             {
23                 return true;
24             }
25             else
26             {
27                 return false;
28             }
29         }

然后定义好token,调用验签验证方法,如果验证通过,一定要返回 echostr ,这个是重点,要不你一辈子也不能验证通过。

1   var token = "8888888";
2   var checkResult = CheckSignature(token, signature, timestamp, nonce);
3   return Content(echostr);

 

posted @ 2020-08-24 14:45  PrintY  阅读(736)  评论(0)    收藏  举报