Delphi XE7 用indy开发微信公众平台(3)- 验证消息真实性
验证消息真实性
原文链接:http://www.cnblogs.com/devinlee/p/4282546.html
扫下方二维码关注,测试效果
uses IdHashSHA, IdGlobal;function SHA1(Input: String): String; beginwith TIdHashSHA1.Create dotryResult := LowerCase(HashBytesAsHex(TidBytes(Bytesof(Input))));finallyFree;end; end;function CheckSignature(ARequestInfo: TIdHTTPRequestInfo): boolean; varsignature, timestamp, nonce, echostr: String;tmpstr: TStringList;temp: String; begintmpstr := TStringList.Create;trysignature := ARequestInfo.Params.Values['signature'];timestamp := ARequestInfo.Params.Values['timestamp'];nonce := ARequestInfo.Params.Values['nonce'];echostr := ARequestInfo.Params.Values['echostr'];tmpstr.Add(Token);tmpstr.Add(timestamp);tmpstr.Add(nonce);tmpstr.Sort;temp := StringReplace(tmpstr.text, #13#10, '', [rfReplaceAll]);Result := SHA1(temp) = signature;finallytmpstr.Free;end; end;procedure TForm1.IdHTTPServerCommandGet(AContext: TIdContext;ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo); beginif CheckSignature(ARequestInfo) thenif ARequestInfo.Params.Values['echostr'] <> '' thenbeginAResponseInfo.ContentType := 'text/html; charset=UTF-8';AResponseInfo.ContentText := ARequestInfo.Params.Values['echostr'];end; end;
转载于:https://www.cnblogs.com/devinlee/p/4282546.html
Delphi XE7 用indy开发微信公众平台(3)- 验证消息真实性相关推荐
- Delphi XE7 用indy开发微信公众平台(8)- 自定义菜单
加我微信:Leedege一起交流Delphi开发经验 const CreateMenuUrl = 'https://api.weixin.qq.com/cgi-bin/menu/create?acce ...
- java群发图文消息_使用Java语言开发微信公众平台(四)——图文消息的发送与响应...
在上一篇文章中,我们实现了被关注回复与关键词回复功能.在用户关注的时候自动推送功能菜单,并根据用户输入的关键词,回复特定信息.但是,我们只能回复文本消息给用户,如何才回复一条图文消息呢?本周,我们一起 ...
- 微信公众号生成文本到服务器,使用Golang开发微信公众平台-接收文本消息
一旦接入验证成功,成为正式开发者,你可能会迫不及待地想通过手机微信发送一条"Hello, Wechat"到你的公众号服务器.不过上一篇的那个程序还无法处理手机提交的文本消息,本篇将 ...
- .net开发微信公众平台
(转自:fhx900808.blog.163.com/blog/static/2099660212013423113226312/) 一.说明:公众平台信息接口为开发者提供了一种新的消息处理方式,只有 ...
- 公众号 接收规则 消息_微信公众平台 发送模板消息(Java接口开发)
前言:最近一直再弄微信扫码推送图文消息和模板消息发送,感觉学习到了不少东西.今天先总结一下微信公众平台模板消息的发送.因为这个自己弄了很久,开始很多地方不明白,所以今天好好总结一下. 微信公众平台技术 ...
- java 模板接口开发_微信公众平台 发送模板消息(Java接口开发)
前言:最近一直再弄微信扫码推送图文消息和模板消息发送,感觉学习到了不少东西.今天先总结一下微信公众平台模板消息的发送.因为这个自己弄了很久,开始很多地方不明白,所以今天好好总结一下. 微信公众平台技术 ...
- 微信快速开发框架(二) -- 快速开发微信公众平台框架---简介
年底了,比较忙,大家都在展望未来,对于30+的我来说,发展和稳定是个难以取舍的问题.最近发了些求职信,鸟无音讯,没事做,做点帮助大家的东西吧. 之前做了个微信公众平台的查询系统,在开发中,发觉了一些微 ...
- 用python开发微信公众平台聊天机器人
最近用python写了一个聊天机器人的微信公众号,网上找的开发文档参差不齐,官方文档也比较老旧,还有部分小问题.于是,分享一下我的思路. 开发环境 windows sever 2008+python3 ...
- 公众平台 java_java开发微信公众平台
<java开发微信公众平台>由会员分享,可在线阅读,更多相关<java开发微信公众平台(31页珍藏版)>请在人人文库网上搜索. 1.java开发微信公众平台响应消息的基类同样, ...
最新文章
- html5 生存游戏,html5版生命游戏
- repmgr 4.3 发布,PostgreSQL 复制与故障转移管理工具
- NETMerger - DotNet 组件(dll或exe)合并
- 【django轻量级框架】云端系统之Django框架进阶
- java基本数据类型转换
- Windows环境下32位汇编程序设计C版code--第四章
- Error:(108) No resource identifier found for attribute #39;style#39; in package #39;android#39;
- 增强——BTE流程简介
- 推荐系统——开源代码
- 少儿编程100讲轻松学python(二)-python cv2模块怎么安装
- shell判定一个变量等于-n_Shell test命令:条件判断,检查某条件是否成立
- Kubernetes 也有局限性吗?
- aide入侵检测工具与crontab
- Linux逻辑卷(LVM)技术详解
- Mac安装和配置Tomcat的教程
- Java开源内容管理CMS系统J4CMS的几个样式
- matlab powf,科学网—MZDDE中操作数更正 - 张凯元的博文
- 换号码的烦恼引起的思考
- 华为三层交换机路由配置案例_华为三层交换与路由配置
- android 生物识别_将生物识别提示与cryptoobject一起使用
热门文章
- 删除计算机共享信息命令,win10系统使用命令将网络共享删除的操作办法
- html怎么移动到vue,vue自定义指令之拖动页面的元素
- nvidia TX2 CUDA yolov5环境搭建
- 移植内核过程的几个问题
- Java 替换字符串中的回车换行符的方法
- 95-32-010-ChannelPipeline-简介md
- 【ElasticSearch】 Hive数据导入到 es 的 项目 FastIndex
- 【Flink】kafka FlinkKafkaException send data to Kafka old epoch newer producer same transactionalId
- 95-40-032-java.util.concurrent-ConcurrentHashMap
- Mac下IDEA安装Protobuf插件