asp.net 微信开发入门级Token验证

第一步:
打开你的aspx页面的后台文件(也就是.cs)在里面写如下方法

    #region 
        /// <summary>
        /// 验证微信签名
        /// </summary>
        /// *本方法的目的是将来源于微信服务器的token、timestamp、nonce三个参数进行字典序排序
        /// * 再将三个参数字符串拼接成一个字符串进行sha1加密然后与signature进行对比
        /// <returns></returns>
        private bool CheckSignature()
        {
             //获取从微信服务器发过来的signature 、timestamp和nonce
            string signature = Request.QueryString["signature"].ToString();
            string timestamp = Request.QueryString["timestamp"].ToString();
            string nonce = Request.QueryString["nonce"].ToString();
            //这里的Token来自于自己的变量声明 如public string Token = "tomyang1994";
            string[] ArrTmp = { Token, timestamp, nonce };
            Array.Sort(ArrTmp);     //字典排序
            string tmpStr = string.Join("", ArrTmp);
            tmpStr = FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, "SHA1");
            tmpStr = tmpStr.ToLower();
            if (tmpStr == signature)
            {
                return true;
            }
            else
            {
                return false;
            }
        }

        private void Valid()
        {
            string echoStr = Request.QueryString["echoStr"].ToString();
            if (CheckSignature())
            {
                if (!string.IsNullOrEmpty(echoStr))
                {
                    //这个是打印出取得的信息,与验证token没有关系
                   只有CheckSignature()返回的是true,token就
                   已经验证成功了
                    Response.Write(echoStr);
                    Response.End();
                }
            }
        }
        #endregion

第二步:
就是在void Page_Load(object sender, EventArgs e)中调用第一步写的Valid()方法。

第三步:
完成上面两步后就进入你的微信开发者账号
基本配置—–>服务器配置
微信账号服务器配置图解
填完点击提交 ,提交成功就OK了。token验证就完成了 ,服务端代码可以注释掉了。

注:asp.net端要发布到IIS上,然后将外网IP或地址填写到服务器配置中的URL里,注意端口是80或者443,将内网转外网建议用花生壳,6元的认证费。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值