zoukankan      html  css  js  c++  java
  • .net mvc 微信公众号 验证微信签名

    官方文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421135319&token=&lang=zh_CN

    #region 验证Token
            /// <summary>
            /// 验证微信签名
            /// </summary>
            /// * 将token、timestamp、nonce三个参数进行字典序排序
            /// * 将三个参数字符串拼接成一个字符串进行sha1加密
            /// * 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信。
            /// <returns></returns>
            private static bool CheckSignature(string Token, string signature, string timestamp, string nonce)
            {
                string[] arrTmp = { Token, timestamp, nonce };
                Array.Sort(arrTmp);
                string tmpStr = string.Join("", arrTmp);
                tmpStr = FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, "SHA1");
                if (tmpStr != null)
                {
                    tmpStr = tmpStr.ToLower();
                    return tmpStr == signature;
                }
                return false;
            }
            #endregion

    在配置的URL对应的地址中,加入如下方法

     public ActionResult TestToken()
            {
                #region 验证Token
    
                string echoStr = Request.QueryString["echoStr"];
                string signature = Request.QueryString["signature"];
                string timestamp = Request.QueryString["timestamp"];
                string nonce = Request.QueryString["nonce"];
    
                if (AdminUtil.CheckSignature("微信公众号基本配置中的Token(令牌)", signature, timestamp, nonce) && !string.IsNullOrEmpty(echoStr))
                {
                    Response.Write(echoStr);
                    Response.End();
                }
                #endregion
    
                return View();
            }
  • 相关阅读:
    一个星期自动态的网站设计
    java特权制度设计篇
    mac默认截图、截图代码
    NSDateFormatter
    vlan 以及 Linux实现的IEEE 802.1Q VLAN
    gtk+blade+anjuta 的简单实例
    NetBSD是个开源到源码的系统
    创作gtk源码级vim帮助文档 tags
    linux 怎么使用一个c/c++库
    linux 终端控制-- 多彩输出 格式排版
  • 原文地址:https://www.cnblogs.com/chiyueqi/p/5893604.html
Copyright © 2011-2022 走看看