日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

微信开发--one.微信平台验证

發(fā)布時(shí)間:2025/3/14 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 微信开发--one.微信平台验证 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

? ? 微信驗(yàn)證對(duì)很多人可能是一個(gè)坎。對(duì)于官方文檔我也沒(méi)怎么看懂。

? ? 簡(jiǎn)單理解:驗(yàn)證時(shí)候,微信服務(wù)器端會(huì)發(fā)送一個(gè)字符串,然后你按照微信要求的格式返回一個(gè)字符串,即可驗(yàn)證成功。

? ? 1.微信端以URL帶參數(shù)訪問(wèn)你所設(shè)置的網(wǎng)站地址,Get方式發(fā)送一個(gè)參數(shù),名稱(chēng)為:echoStr

? ? 2.在我們驗(yàn)證期間可以用兩種方式進(jìn)行處理:echoStr

? ? ? ? (1)直接輸出字符串,即可完成驗(yàn)證(此方法超級(jí)簡(jiǎn)單就可以完成微信驗(yàn)證,不需要進(jìn)行官方一系列加密匹配等。我把它成為野方法,親測(cè)可用)

protected void Page_Load(object sender, EventArgs e){// 驗(yàn)證方法 Valid();} private void Valid(){string echoStr = Request.QueryString["echoStr"].ToString();// 方法一【推薦】:最簡(jiǎn)單的方法就是不進(jìn)行校驗(yàn),直接輸出數(shù)據(jù)即可通過(guò)驗(yàn)證 Response.Write(echoStr);Response.End();}

? ? ? (2)官方驗(yàn)證,就需要進(jìn)行加密匹配

private void Valid(){string echoStr = Request.QueryString["echoStr"].ToString();//方法二【官方】:通過(guò)sha1進(jìn)行加密匹配if (CheckSignature())//此方法為驗(yàn)證加密 ****** {if (!string.IsNullOrEmpty(echoStr)){Response.Write(echoStr);Response.End();}}}/// <summary>/// 驗(yàn)證微信簽名/// </summary>/// * 將token、timestamp、nonce三個(gè)參數(shù)進(jìn)行字典序排序/// * 將三個(gè)參數(shù)字符串拼接成一個(gè)字符串進(jìn)行sha1加密/// * 開(kāi)發(fā)者獲得加密后的字符串可與signature對(duì)比,標(biāo)識(shí)該請(qǐng)求來(lái)源于微信。/// <returns></returns>private bool CheckSignature(){string signature = Request.QueryString["signature"].ToString();string timestamp = Request.QueryString["timestamp"].ToString();string nonce = Request.QueryString["nonce"].ToString();// 打印獲取的參數(shù)數(shù)據(jù)//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;}}

這樣驗(yàn)證就over,第一種驗(yàn)證方法很簡(jiǎn)單。。。規(guī)范化的第二種方式有興趣可以看看,也不是很復(fù)雜,排序加密判斷即可。。。

注:官方驗(yàn)證為了什么,真心沒(méi)弄明白。難道只是讓客戶知道自己的連接是否正常或正確?但是直接不驗(yàn)證返回也可以驗(yàn)證 真心 不理解。。。

        

轉(zhuǎn)載于:https://www.cnblogs.com/buzi521/p/3985001.html

總結(jié)

以上是生活随笔為你收集整理的微信开发--one.微信平台验证的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。