同桌上课用手指进去了好爽_欧美丰满熟妇xxⅹⅹ性大i_成人av天天日天天拍拍_猛男gay帅男gay男男同志_欧美va天堂在线观看_人妻无码av中文系列三里桃花_亚欧免费无码在线观看_久久久精品国产亚洲av水_日韩在线免费看污污污_2021无码专区人妻系列日韩

首頁 優(yōu)化推廣 asp.net微信接口配置代碼-開發(fā)者身份驗(yàn)證

asp.net微信接口配置代碼-開發(fā)者身份驗(yàn)證

來源: | 時(shí)間:2013/11/22 17:20:49 |

    其實(shí)微信接口開發(fā),下面是驗(yàn)證身份的代碼。

    下面直接代碼,首先需要建立一個(gè)weixin.aspx文件,然后在.cs里面寫入下面代碼

using System;

using System.Collections.Generic;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Data;

using System.IO;

using System.Net;

using System.Text;

using System.Xml;

using System.Web.Security;

 

public partial class weixin : System.Web.UI.Page

{

    const string Token = "jj20hh13";//你的token

    protected void Page_Load(object sender, EventArgs e)

    {

        string postStr = "";

 

        if (Request.HttpMethod.ToLower() == "post")

        {

            System.IO.Stream s = System.Web.HttpContext.Current.Request.InputStream;

 

            byte[] b = new byte[s.Length];

 

            s.Read(b, 0, (int)s.Length);

 

            postStr = System.Text.Encoding.UTF8.GetString(b);

            if (!string.IsNullOrEmpty(postStr))

            {

                //ResponseMsg(postStr);

                Response.Write(ResponseMsg(postStr));

                Response.End();

 

            }

            //WriteLog("postStr:" + postStr);

        }

        else

        {

            Valid();

 

        }

    }

 

    /// <summary>

    /// 驗(yàn)證微信簽名

    /// </summary>

    /// × 將token、timestamp、nonce三個(gè)參數(shù)進(jìn)行字典序排序

    /// × 將三個(gè)參數(shù)字符串拼接成一個(gè)字符串進(jìn)行sha1加密

    /// × 開發(fā)者獲得加密后的字符串可與signature對比,標(biāo)識(shí)該請求來源于微信。

    /// <returns></returns>

    private bool CheckSignature()

    {

        string signature = Request.QueryString["signature"].ToString();

        string timestamp = Request.QueryString["timestamp"].ToString();

        string nonce = Request.QueryString["nonce"].ToString();

        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;

        }

    }

 

    private void Valid()

    {

        string echoStr = Request.QueryString["echoStr"].ToString();

        if (CheckSignature())

        {

            if (!string.IsNullOrEmpty(echoStr))

            {

                Response.Write(echoStr);

                Response.End();

            }

        }

    }

 

    /// <summary>

    /// 返回信息結(jié)果(微信信息返回)

    /// </summary>

    /// <param name="weixinXML"></param>

    private string ResponseMsg(string weixinXML)

    {

      ///這里寫你的返回信息代碼

 

    }

 

 

    /// <summary>

    /// unix時(shí)間轉(zhuǎn)換為datetime

    /// </summary>

    /// <param name="timeStamp"></param>

    /// <returns></returns>

    private DateTime UnixTimeToTime(string timeStamp)

    {

        DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));

        long lTime = long.Parse(timeStamp + "0000000");

        TimeSpan toNow = new TimeSpan(lTime);

        return dtStart.Add(toNow);

    }

 

    /// <summary>

    /// datetime轉(zhuǎn)換為unixtime

    /// </summary>

    /// <param name="time"></param>

    /// <returns></returns>

    private int ConvertDateTimeInt(System.DateTime time)

    {

        System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1));

        return (int)(time - startTime).TotalSeconds;

    }

 

    /// <summary>

    /// 寫日志(用于跟蹤)

    /// </summary>

    private void WriteLog(string strMemo)

    {

        string filename = Server.MapPath("/logs/log.txt");

        if (!Directory.Exists(Server.MapPath("//logs//")))

            Directory.CreateDirectory("//logs//");

        StreamWriter sr = null;

        try

        {

            if (!File.Exists(filename))

            {

                sr = File.Cre

服務(wù)熱線

153 8323 9821

功能和特性

價(jià)格和優(yōu)惠

網(wǎng)站和維護(hù)

推廣和優(yōu)化

微信服務(wù)號