微信公众平台开发之认证"成为开发者".Net代码解析
.Net实现微信公共服务平台开发的认证,认证成为开发者,具体内容如下
这些代码也就开始认证的时候用一次,以后就不用了:
conststringToken="XXXXX";//你的token protectedvoidPage_Load(objectsender,EventArgse) { stringpostStr=""; if(Request.HttpMethod.ToLower()=="post") { System.IO.Streams=System.Web.HttpContext.Current.Request.InputStream; byte[]b=newbyte[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> privateboolCheckSignature() { stringsignature=Request.QueryString["signature"].ToString(); stringtimestamp=Request.QueryString["timestamp"].ToString(); stringnonce=Request.QueryString["nonce"].ToString(); string[]ArrTmp={Token,timestamp,nonce}; Array.Sort(ArrTmp);//字典排序 stringtmpStr=string.Join("",ArrTmp); tmpStr=FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr,"SHA1"); tmpStr=tmpStr.ToLower(); if(tmpStr==signature) { returntrue; } else { returnfalse; } } .privatevoidValid() { stringechoStr=Request.QueryString["echoStr"].ToString(); if(CheckSignature()) { if(!string.IsNullOrEmpty(echoStr)) { Response.Write(echoStr); Response.End(); } } } ///<summary> ///写日志(用于跟踪) ///</summary> privatevoidWriteLog(stringstrMemo) { stringfilename=Server.MapPath("/logs/log.txt"); if(!Directory.Exists(Server.MapPath("//logs//"))) Directory.CreateDirectory("//logs//"); StreamWritersr=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(); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。