欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

微信公眾平臺(tái)開發(fā)之認(rèn)證"成為開發(fā)者".Net代碼解析

 更新時(shí)間:2016年06月24日 10:02:48   作者:hechurui  
這篇文章主要為大家詳細(xì)解析了微信公眾平臺(tái)開發(fā)之認(rèn)證"成為開發(fā)者".Net代碼,感興趣的小伙伴們可以參考一下

.Net 實(shí)現(xiàn)微信公共服務(wù)平臺(tái)開發(fā)的認(rèn)證,認(rèn)證成為開發(fā)者,具體內(nèi)容如下

這些代碼也就開始認(rèn)證的時(shí)候用一次,以后就不用了:

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> 
/// 驗(yàn)證微信簽名 
/// </summary> 
/// * 將token、timestamp、nonce三個(gè)參數(shù)進(jìn)行字典序排序 
/// * 將三個(gè)參數(shù)字符串拼接成一個(gè)字符串進(jìn)行sha1加密 
/// * 開發(fā)者獲得加密后的字符串可與signature對(duì)比,標(biāo)識(shí)該請(qǐng)求來源于微信。 
/// <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("http://logs//"))) 
    Directory.CreateDirectory("http://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(); 
  } 
} 

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論