위챗 개발 - 서버 검증

2212 단어 위챗
위챗이 자체 개발한 첫 번째 단계는 자신의 서버를 검증하는 것이다. 빈 웹 페이지를 써서 위챗 서버가 보낸 문자열을 받은 다음에 서명을 검증한 후에 문자열을 원래대로 되돌려주면 위챗 서버가 이 문자열을 받은 후에 검증에 성공할 수 있다.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Diagnostics;

namespace Weixin
{
    public partial class Index : System.Web.UI.Page
    {
        public const String TOKEN = "zhuoteng123"; 
        protected void Page_Load(object sender, EventArgs e)
        {
            String echoStr = Request["echostr"];

            Debug.Write("soupld:"
                + DateTime.Now.ToString("HH-mm-ss")
                + "load page");

            if (this.checkSignature())
            {
                Response.Write(echoStr);
            }
        }

        // 
        private bool checkSignature()
        {
            string signature = Request["signature"];
            string timestamp = Request["timestamp"];
            string nonce = Request["nonce"];

            string token = TOKEN;
            string[] tmpArr = new string[] { token, timestamp, nonce };
            Array.Sort(tmpArr);
            string tmpStr = string.Join("", tmpArr);
            //sha1 
            System.Security.Cryptography.SHA1 sha1 = new System.Security.Cryptography.SHA1CryptoServiceProvider();
            byte[] secArr = sha1.ComputeHash(System.Text.Encoding.Default.GetBytes(tmpStr));
            tmpStr = BitConverter.ToString(secArr).Replace("-", "").ToLower();

            Debug.Write("soupld:" 
                + DateTime.Now.ToString("HH-mm-ss") 
                + ":signature=" + signature 
                + ";timestamp=" + timestamp 
                + ";nonce=" + nonce 
                + ";");
            
            if (tmpStr == signature)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
    }
}

작성된 웹 페이지를 서버에 놓고 IIS로 웹 사이트를 설정합니다. 이 페이지를 기본 페이지로 설정하여 웹 사이트가 시작된 후에 위챗 서버 메시지를 받을 수 있도록 주의하십시오.

좋은 웹페이지 즐겨찾기