微信开发--one.微信平台验证
生活随笔
收集整理的這篇文章主要介紹了
微信开发--one.微信平台验证
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ? 微信驗證對很多人可能是一個坎。對于官方文檔我也沒怎么看懂。
? ? 簡單理解:驗證時候,微信服務器端會發送一個字符串,然后你按照微信要求的格式返回一個字符串,即可驗證成功。
? ? 1.微信端以URL帶參數訪問你所設置的網站地址,Get方式發送一個參數,名稱為:echoStr
? ? 2.在我們驗證期間可以用兩種方式進行處理:echoStr
? ? ? ? (1)直接輸出字符串,即可完成驗證(此方法超級簡單就可以完成微信驗證,不需要進行官方一系列加密匹配等。我把它成為野方法,親測可用)
protected void Page_Load(object sender, EventArgs e){// 驗證方法 Valid();} private void Valid(){string echoStr = Request.QueryString["echoStr"].ToString();// 方法一【推薦】:最簡單的方法就是不進行校驗,直接輸出數據即可通過驗證 Response.Write(echoStr);Response.End();}? ? ? (2)官方驗證,就需要進行加密匹配
private void Valid(){string echoStr = Request.QueryString["echoStr"].ToString();//方法二【官方】:通過sha1進行加密匹配if (CheckSignature())//此方法為驗證加密 ****** {if (!string.IsNullOrEmpty(echoStr)){Response.Write(echoStr);Response.End();}}}/// <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();// 打印獲取的參數數據//Common.Log.WriteLog("signature:" + signature + "; timestamp:" + timestamp + "; nonce:" + nonce);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;}}這樣驗證就over,第一種驗證方法很簡單。。。規范化的第二種方式有興趣可以看看,也不是很復雜,排序加密判斷即可。。。
注:官方驗證為了什么,真心沒弄明白。難道只是讓客戶知道自己的連接是否正常或正確?但是直接不驗證返回也可以驗證 真心 不理解。。。
轉載于:https://www.cnblogs.com/buzi521/p/3985001.html
總結
以上是生活随笔為你收集整理的微信开发--one.微信平台验证的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android 应用间的集成
- 下一篇: node.js--exports和mod