• 选择页面风格:
  • ASP.NET MVC 微信公众平台对接

    作者:追梦 更新时间:2020-05-02 13:49:29 来源:原创 【字号: 】 浏览

    1、新建ASP.NET MVC项目

    2、新建控制器 WXAPIController

    3、编写代码

    private string access_token = "feilongnet.com";

    [HttpGet]

    public ActionResult Index()

    {

    string echostr = Request.QueryString["echostr"];

    if (CheckSignature())

    {

    if (!string.IsNullOrEmpty(echostr))

    {

    return Content(echostr);

    }

    else

    {

    return Content("echostr 不合法");

    }

    }

    else

    {

    return Content("echostr 不合法");

    }

    }

    /// <summary>

    /// 微信签名验证

    /// </summary>

    /// <returns>返回验证结果</returns>

    private bool CheckSignature()

    {

    string signature = Request.QueryString["signature"]; //post 用.Form

    string timestamp = Request.QueryString["timestamp"];

    string nonce = Request.QueryString["nonce"];

    string[] arrTmp = { access_token, timestamp, nonce };

    Array.Sort(arrTmp); //字典序排序

    //将三个参数字符串拼接成一个字符串进行sha1加密

    string strTmp = string.Join("", arrTmp);

    strTmp = GetHash1(strTmp);

    //将获得的字符串与signature对比,标识该请求来源于微信

    if (strTmp.ToLower() == signature)

    {

    return true;

    }

    else

    {

    return false;

    }

    }

    /// <summary>

    /// 将字符串进行SHA1加密

    /// </summary>

    /// <param name="str">要加密的字符串</param>

    /// <returns></returns>

    private string GetHash1(string str)

    {

    SHA1 sha1 = SHA1.Create();

    byte[] data = sha1.ComputeHash(Encoding.UTF8.GetBytes(str));

    StringBuilder sb = new StringBuilder();

    for (int i = 0; i < data.Length; i++)

    {

    sb.Append(data[i].ToString("x2").ToLower());

    }

    return sb.ToString();

    }

    5、微信平台设置--接口配置信息


    ASP.NET MVC对接微信公众平台

    接口配置信息


  • 上一篇: 查询数据库中任意文本所在的表及字段
  • 下一篇: 没有下一篇文章
  • {$FL_ggad250}
    栏目导航