???? WeChat ??? ??? ??? ????? ?? ??? ???? ??? ?? ?? ? ??? ??????.
1. ?? ?? - ?? ?? ??
https://mp.weixin.qq.com/?? WeChat ?? ???? ??? ?????.
??? ??? ???? ??? ?? ?? ??? ?? ?? ??? ??? ???? ????? ?? ??? ????.
?? ?? ??? ?? ????? ???? ?, ?? ??? ??? ?? ??? - ??? ?? ???? "?? ??" ??? ???? ?? ??(URL), ?? ? EncodingAESKey? ?????. ??? URL? ???? WeChat ??? ? ???? ???? ? ???? ????? URL???. ??? ???? ???? ??? ???? ? ??? ? ????. ??? ???? ?? ??? ????? URL? ??? ??? ?????. EncodingAESKey? ???? ???? ????? ??? ???? ??? ?? ??? ? ?? ?? ?? ?????.
??? ???? ?? ??? ??, ??? ??, ?? ?? ? ??? ??? ? ?? ?? ??? ??? ? ????. ?? ?? ? ?? ??? ?? ? ?? ?????. ???? ???? ???? ???? ?? ????. ??? ? ???? ?? ??? ?? ??? ?????. ?? ?? ? ?? ??? ????? ?? ??? ? ??? ??? ?? ???? ???. ??? ??? ??? ?? ?? ? ??? ? ???? ?? ???? ?????.
URL? ?? 80??? ?? ???? ??? ???! ! !
2. URL? ???? ?????.
private string Token = ConfigurationManager.AppSettings["Token"]; [HttpGet] [ActionName("Index")] public ActionResult Get(string signature, string timestamp, string nonce, string echostr) { if (CheckSignature.Check(signature, timestamp, nonce, Token)) { return Content(echostr);//返回隨機(jī)字符串則表示驗(yàn)證通過 } else { return Content("failed:" + signature + "," + CheckSignature.GetSignature(timestamp, nonce, Token) + "。如果你在瀏覽器中看到這句話,說明此地址可以被作為微信公眾賬號(hào)后臺(tái)的Url,請(qǐng)注意保持Token一致。"); } } /// <summary> /// 檢查簽名是否正確 /// </summary> /// <param name="signature"></param> /// <param name="timestamp"></param> /// <param name="nonce"></param> /// <param name="token"></param> /// <returns></returns> public static bool Check(string signature, string timestamp, string nonce, string token = null) { return signature == GetSignature(timestamp, nonce, token); } /// <summary> /// 返回正確的簽名 /// </summary> /// <param name="timestamp"></param> /// <param name="nonce"></param> /// <param name="token"></param> /// <returns></returns> public static string GetSignature(string timestamp, string nonce, string token = null) { token = token ?? Token; var arr = new[] { token, timestamp, nonce }.OrderBy(z => z).ToArray(); var arrString = string.Join("", arr); //var enText = FormsAuthentication.HashPasswordForStoringInConfigFile(arrString, "SHA1");//使用System.Web.Security程序集 var sha1 = System.Security.Cryptography.SHA1.Create(); var sha1Arr = sha1.ComputeHash(Encoding.UTF8.GetBytes(arrString)); StringBuilder enText = new StringBuilder(); foreach (var b in sha1Arr) { enText.AppendFormat("{0:x2}", b); } return enText.ToString(); }
??? ??? ??? ? ?? ??? ??? ? ????. ??? ???? ?? ??? ?? ???? ??? ??? ? ????.
???? WeChat ??? ?????. ??? asp.net WeChat ??? ?? ?? ??? ??? ?? ????. ??? ???? ????? ??? C# WeChat ??? ?? ?? ??? ???? ???????. ?? ??? ???? ??? ??? ??? ??? ?? ??? ???? ???.
C# WeChat ??(?? ??)? ?? ? ?? ?? PHP ??? ????? ??????!

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)