2013-0413

微信公众平台接口进行开发Token验证asp.net mvc版实现

作者: momy 分类: 编程开发 7 Comment »
摘要:微信公众平台接口进行开发Token验证asp.net mvc版实现,asp.net mvc微信接口api

申请时Token验证代码如下:

private static readonly string Token = "wweixin";
        //
        // GET: /Weixin/
        [HttpGet]
        public ActionResult Index()
        {
            string echoStr = Request.QueryString["echoStr"];
            if (CheckSignature())
            {
                if (!string.IsNullOrEmpty(echoStr))
                {
                    return Content(echoStr);
                }
            }
            return null;
        }
        /// <summary>
        /// 验证微信签名
        /// </summary>
        /// * 将token、timestamp、nonce三个参数进行字典序排序
        /// * 将三个参数字符串拼接成一个字符串进行sha1加密
        /// * 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信。
        /// <returns></returns>
        private bool CheckSignature()
        {
            string signature = Request.QueryString["signature"];
            string timestamp = Request.QueryString["timestamp"];
            string nonce = Request.QueryString["nonce"];
            string[] ArrTmp = { Token, timestamp, nonce };
            Array.Sort(ArrTmp);     //字典排序
            string tmpStr = string.Join("", ArrTmp);
            tmpStr = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, "SHA1");
            tmpStr = tmpStr.ToLower();
            if (tmpStr == signature)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
        private void Valid()
        {
            string echoStr = Request.QueryString["echoStr"];
            if (CheckSignature())
            {
                if (!string.IsNullOrEmpty(echoStr))
                {
                    Response.Write(echoStr);
                    Response.End();
                }
            }
        }
    }

更多微信调用代码设计商业用途,可联系本站管理员获取,不在此公开。

标签: 微信 公众平台 Token mvc 阅读: 19725
上一篇: sql三目运算符 - 8946次
下一篇: 12种类型黑客 你遇见过哪种? - 4383次

网友评论

112.90.87.* 2014/4/21 16:04:51

感谢,可以了,帮了大忙

218.28.43.* 2014/7/4 9:47:12

受教了,感谢

202.109.164.* 2014/8/12 11:27:28

为什么我一直通过不了呢,代码基本都一样的啊

119.80.202.* 2015/5/26 21:14:14

very good!

112.115.222.* 2015/9/17 23:50:51

非常感谢,刚好用到这个

61.147.254.* 2015/11/6 11:15:11

用一般处理程序ashx验证可以通过,相同的代码放到MVC里就不行了。

203.93.104.* 2016/5/26 10:32:16

nice,虽然还没用

向右滑动解锁留言