详解微信公众平台开发之认证成为开发者.Net代码解析
这篇文章主要为大家详解微信公众平台开发之认证成为开发者.Net代码解析,感兴趣的小伙伴们可以参考一下
.Net 实现微信公共服务平台开发的认证,认证成为开发者,具体内容如下
这些代码也就开始认证的时候用一次,以后就不用了:
const string Token = "XXXXX";//你的token protected void Page_Load(object sender, EventArgs e) {string postStr = "";if (Request.HttpMethod.ToLower() == "post"){System.IO.Stream s = System.Web.HttpContext.Current.Request.InputStream;byte[] b = new byte[s.Length];s.Read(b, 0, (int)s.Length);postStr = System.Text.Encoding.UTF8.GetString(b);if (!string.IsNullOrEmpty(postStr)){//ResponseMsg(postStr);Response.Write(ResponseMsg(postStr));Response.End();}//WriteLog("postStr:" + postStr);}else{Valid();} }/// <summary> /// 验证微信签名 /// </summary> /// * 将token、timestamp、nonce三个参数进行字典序排序 /// * 将三个参数字符串拼接成一个字符串进行sha1加密 /// * 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信。 /// <returns></returns> private bool CheckSignature() {string signature = Request.QueryString["signature"].ToString();string timestamp = Request.QueryString["timestamp"].ToString();string nonce = Request.QueryString["nonce"].ToString();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)){Response.Write(echoStr);Response.End();}} }/// <summary> /// 写日志(用于跟踪) /// </summary> private void WriteLog(string strMemo) {string filename = Server.MapPath("/logs/log.txt");if (!Directory.Exists(Server.MapPath("//logs//")))Directory.CreateDirectory("//logs//");StreamWriter sr = null;try{if (!File.Exists(filename)){sr = File.CreateText(filename);}else{sr = File.AppendText(filename);}sr.WriteLine(strMemo);}catch{}finally{if (sr != null)sr.Close();} }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持PHP中文网。以上就是详解微信公众平台开发之认证成为开发者.Net代码解析的详细内容,更多请关注小潘博客其它相关文章!