微信公众平台开发之认证"成为开发者".Net代码解析
程序员文章站
2023-12-03 09:52:28
.net 实现微信公共服务平台开发的认证,认证成为开发者,具体内容如下
这些代码也就开始认证的时候用一次,以后就不用了:
const string toke...
.net 实现微信公共服务平台开发的认证,认证成为开发者,具体内容如下
这些代码也就开始认证的时候用一次,以后就不用了:
const string token = "xxxxx";//你的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> /// 验证微信签名 /// </summary> /// * 将token、timestamp、nonce三个参数进行字典序排序 /// * 将三个参数字符串拼接成一个字符串进行sha1加密 /// * 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信。 /// <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> /// 写日志(用于跟踪) /// </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.createtext(filename); } else { sr = file.appendtext(filename); } sr.writeline(strmemo); } catch { } finally { if (sr != null) sr.close(); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
下一篇: python3中的md5加密实例