ホームページ  >  記事  >  WeChat アプレット  >  ASP.NET WeChat 開発インターフェイス ガイドの詳細な紹介

ASP.NET WeChat 開発インターフェイス ガイドの詳細な紹介

高洛峰
高洛峰オリジナル
2017-03-10 14:34:342045ブラウズ

この記事では、ASP.NET WeChat 開発インターフェイス ガイドを詳しく紹介します。WeChat パブリック プラットフォームの開発は比較的簡単です。興味のある方は参考にしてください。

パブリック プラットフォームのユーザーが情報を送信すると、WeChat サーバーが GET リクエストを送信します。

ASP.NET WeChat 開発インターフェイス ガイドの詳細な紹介

開発者は署名をチェックすることでリクエストを検証します (以下の検証方法があります)。この GET リクエストが WeChat サーバーからのものであることが確認された場合は、echostr パラメータの内容をそのまま返すとアクセスが有効になります。それ以外の場合はアクセスが失敗します。

signature は、開発者によって入力されたトークンパラメータと、リクエスト内のタイムスタンプパラメータおよびノンスパラメータを組み合わせます。

暗号化/検証プロセス:

  • 1. 3 つのパラメーターのトークン、タイムスタンプ、ノンスを辞書順に並べ替えます

  • 2. sha1 暗号化用に 3 つのパラメーター文字列を 1 つの文字列に結合します

  • 3開発者が取得した暗号化された文字列を署名と比較することで、リクエストが WeChat からのものであることを識別できます

アクセス後、一般の WeChat ユーザーがメッセージを送信すると、メッセージ プッシュが発生します。アカウント メッセージを送信するとき、WeChat サーバーは入力された URL にメッセージを POST します。


/// <summary> 
 /// 验证签名 
 /// </summary> 
 /// <param name="signature"></param> 
 /// <param name="timestamp"></param> 
 /// <param name="nonce"></param> 
 /// <returns></returns> 
 public static bool CheckSignature(String signature, String timestamp, String nonce) 
 { 
 String[] arr = new String[] { token, timestamp, nonce }; 
 // 将token、timestamp、nonce三个参数进行字典序排序 
 Array.Sort<String>(arr); 
 
 StringBuilder content = new StringBuilder(); 
 for (int i = 0; i < arr.Length; i++) 
 { 
  content.Append(arr[i]); 
 } 
 
 String tmpStr = SHA1_Encrypt(content.ToString()); 
 
 
 // 将sha1加密后的字符串可与signature对比,标识该请求来源于微信 
 return tmpStr != null ? tmpStr.Equals(signature) : false; 
 } 
 
 
 /// <summary> 
 /// 使用缺省密钥给字符串加密 
 /// </summary> 
 /// <param name="Source_String"></param> 
 /// <returns></returns> 
 public static string SHA1_Encrypt(string Source_String) 
 { 
 byte[] StrRes = Encoding.Default.GetBytes(Source_String); 
 HashAlgorithm iSHA = new SHA1CryptoServiceProvider(); 
 StrRes = iSHA.ComputeHash(StrRes); 
 StringBuilder EnText = new StringBuilder(); 
 foreach (byte iByte in StrRes) 
 { 
  EnText.AppendFormat("{0:x2}", iByte); 
 } 
 return EnText.ToString(); 
 }


上記は、ASP.NET WeChat 開発インターフェイス ガイドの関連コンテンツの紹介です。皆様の学習に役立つことを願っています。

以上がASP.NET WeChat 開発インターフェイス ガイドの詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。