首次接受这个项目,看了微信的API,云里雾里,经过几经测试,理清思路

开发者自个申请,微信API给出四个参数:

下面我解释下

signature 是微信加密签名 即:微信服务器将 timetamp nonce  token(你提交的)使用SHA1加密后 会使用GET方式发送给你。

timestamp是腾讯服务器发送的一个时间戳

nonce是腾讯服务器发送的一个随机数

成功申请的关键是在下面,上面的几个参数只是 微信提供 用户请求--->你自己的网站 的一个验证方式。

echostr就是 腾讯服务器发送的一个随机字符串 这个需要你在自己网站接受后 使用输出流 Respons.Write(echostr);

记住最好在输出完毕终止流 Response.End(); 然后就可以成功申请了。

参数 描述
signature 微信加密签名
timestamp 时间戳
nonce 随机数
echostr 随机字符串 
  1. private void Valid()
  2. {
  3. string echoStr = Request.QueryString["echoStr"].ToString();
  4. if (CheckSignature())
  5. {
  6. if (!string.IsNullOrEmpty(echoStr))
  7. {
  8. Response.Write(echoStr);
  9. Response.End();
  10. }
  11. }
  12. }
  1. private bool CheckSignature()
  2. {
  3. string signature = Request.QueryString["signature"].ToString();
  4. string timestamp = Request.QueryString["timestamp"].ToString();
  5. string nonce = Request.QueryString["nonce"].ToString();
  6. string[] ArrTmp = { Token, timestamp, nonce };
  7. Array.Sort(ArrTmp);     //字典排序
  8. string tmpStr = string.Join("", ArrTmp);
  9. tmpStr = FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, "SHA1");
  10. tmpStr = tmpStr.ToLower();
  11. if (tmpStr == signature)
  12. {
  13. return true;
  14. }
  15. else
  16. {
  17. return false;
  18. }
  19. }

.net 微信Token验证的更多相关文章

  1. 8-网页,网站,微信公众号基础入门(使用Python程序实现微信token验证)

    https://www.cnblogs.com/yangfengwu/p/11062034.html 设置一下IP白名单:   填写自己的服务器的IP地址 是不是不可以哈,有多少人都会入这个坑.... ...

  2. .NET 微信Token验证和消息接收和回复

    public class wxXmlModel { public string ToUserName { get; set; } public string FromUserName { get; s ...

  3. 微信token验证失败的几种情况

    最近在研究用PHP做微信开发的时候,“修改配置时”,总是遇到token验证失败的提示.历经一番查找,种种输出日志和echo,发现,如果不echo调试信息,也不写日志,就不需要ob_clean(),如果 ...

  4. 微信token验证源码分享(c#版)

    在开发时遇到一个问题: 上线后提交申请微信提示"您的服务器没有正确响应token验证...",我查看日志发现根本就没有接收到来自微信的参数. 后来我又记录了微信请求方式和请求的字符 ...

  5. 微信token验证失败的解决方法

    一.问题由来 在使用URL和Token启用微信公众平台开发模式消息接口的时候,我们会碰到下面三种情况 1. token校验失败 这样回头检查一下各项配置是否正确.如果确定配置没有问题,请按下面的方法检 ...

  6. 微信 token 验证

    package org.sxl.weixin; import java.security.MessageDigest; import java.security.NoSuchAlgorithmExce ...

  7. 微信Token验证

    /// <summary> /// 微信验证 /// </summary> /// <param name="echostr"></par ...

  8. 9-网页,网站,微信公众号基础入门(使用PHP实现微信token验证)

    https://www.cnblogs.com/yangfengwu/p/11062422.html 这一节看怎么用PHP实现上一节的功能 关掉上一节的 学了这么久,忘了告诉大家怎么关闭程序了.... ...

  9. 总想自己动动手系列·3·微信公众号和外网服务交互之通过TOKEN验证(准备篇·1)

    一.准备工作 (1)准备一个微信公众号(对私的订阅号或者对公的服务号). (2)准备一台部署了web应用,并且已经发布出去的Linux服务器(需要说明的是:微信公众号强烈建议使用80端口,使用其他自定 ...

随机推荐

  1. 【java】详解集合

    目录结构: contents structure [-] 集合概述 什么是集合 Collection和Map的区别 List和Set的区别 ArrayList和LinkedList的区别 HashSe ...

  2. Docker未启动错误:Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

    此问题是因为Docker安装后未启动所致,执行以下命令启动docker: systemctl start docker.service 具体日志如下: Connecting to ... Connec ...

  3. 黑客公布2012年最弱智密码Top25(转)

    尽管弱密码对安全性的危害大家都知道,但是仍然有很多网民使用超弱密码.日前,黑客公布了一份密码文档,列出了今年最弱智密码. 根据 SplashData 公布的“年度最弱智密码 Top25”,和去年一样, ...

  4. 【转】对 Rust 语言的分析

    对 Rust 语言的分析 Rust 是一门最近比较热的语言,有很多人问过我对 Rust 的看法.由于我本人是一个语言专家,实现过几乎所有的语言特性,所以我不认为任何一种语言是新的.任何“新语言”对我来 ...

  5. 条件触发和边缘触发 及 epoll 的长处

    条件触发: 仅仅要输入缓冲有数据就会一直通知该事件 边缘触发: 输入缓冲收到数据时仅注冊1次该事件.即使输入缓冲中还留有数据,也不会再进行注冊 水平触发(level-triggered.也被称为条件触 ...

  6. WGAN (原理解析)

    在GAN的相关研究如火如荼甚至可以说是泛滥的今天,一篇新鲜出炉的arXiv论文<Wasserstein GAN>却在Reddit的Machine Learning频道火了,连Goodfel ...

  7. 如何使用ODBC搭配dsn链接数据库

    { OdbcConnection cn; OdbcCommand cmd; string MyString; MyString="Select * from Customers"; ...

  8. 定时删除elasticsearch的index

    #!/bin/bashfind /data/elasticsearch/data/kz-log/nodes/0/indices/ -type d -mtime +5 |  awk -F"/& ...

  9. JDK1.5新特性,基础类库篇,XML增强

    Document Object Model (DOM) Level 3 文件对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展置标语言的标准编程接口.DO ...

  10. FFmpeg(8)-打开音视频解码器,配置解码器上下文(avcodec_find_decoder()、avcodec_alloc_context3())

    一.avcodec_find_decoder 获取解码器.在使用之前必须保证所用到的解码器已经注册,最简单的就是调用avcodec_register_all() 函数,就像之前注册解封装器的时候,也要 ...