验证消息真实性

原文链接: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)- 验证消息真实性相关推荐

  1. Delphi XE7 用indy开发微信公众平台(8)- 自定义菜单

    加我微信:Leedege一起交流Delphi开发经验 const CreateMenuUrl = 'https://api.weixin.qq.com/cgi-bin/menu/create?acce ...

  2. java群发图文消息_使用Java语言开发微信公众平台(四)——图文消息的发送与响应...

    在上一篇文章中,我们实现了被关注回复与关键词回复功能.在用户关注的时候自动推送功能菜单,并根据用户输入的关键词,回复特定信息.但是,我们只能回复文本消息给用户,如何才回复一条图文消息呢?本周,我们一起 ...

  3. 微信公众号生成文本到服务器,使用Golang开发微信公众平台-接收文本消息

    一旦接入验证成功,成为正式开发者,你可能会迫不及待地想通过手机微信发送一条"Hello, Wechat"到你的公众号服务器.不过上一篇的那个程序还无法处理手机提交的文本消息,本篇将 ...

  4. .net开发微信公众平台

    (转自:fhx900808.blog.163.com/blog/static/2099660212013423113226312/) 一.说明:公众平台信息接口为开发者提供了一种新的消息处理方式,只有 ...

  5. 公众号 接收规则 消息_微信公众平台 发送模板消息(Java接口开发)

    前言:最近一直再弄微信扫码推送图文消息和模板消息发送,感觉学习到了不少东西.今天先总结一下微信公众平台模板消息的发送.因为这个自己弄了很久,开始很多地方不明白,所以今天好好总结一下. 微信公众平台技术 ...

  6. java 模板接口开发_微信公众平台 发送模板消息(Java接口开发)

    前言:最近一直再弄微信扫码推送图文消息和模板消息发送,感觉学习到了不少东西.今天先总结一下微信公众平台模板消息的发送.因为这个自己弄了很久,开始很多地方不明白,所以今天好好总结一下. 微信公众平台技术 ...

  7. 微信快速开发框架(二) -- 快速开发微信公众平台框架---简介

    年底了,比较忙,大家都在展望未来,对于30+的我来说,发展和稳定是个难以取舍的问题.最近发了些求职信,鸟无音讯,没事做,做点帮助大家的东西吧. 之前做了个微信公众平台的查询系统,在开发中,发觉了一些微 ...

  8. 用python开发微信公众平台聊天机器人

    最近用python写了一个聊天机器人的微信公众号,网上找的开发文档参差不齐,官方文档也比较老旧,还有部分小问题.于是,分享一下我的思路. 开发环境 windows sever 2008+python3 ...

  9. 公众平台 java_java开发微信公众平台

    <java开发微信公众平台>由会员分享,可在线阅读,更多相关<java开发微信公众平台(31页珍藏版)>请在人人文库网上搜索. 1.java开发微信公众平台响应消息的基类同样, ...

最新文章

  1. html5 生存游戏,html5版生命游戏
  2. repmgr 4.3 发布,PostgreSQL 复制与故障转移管理工具
  3. NETMerger - DotNet 组件(dll或exe)合并
  4. 【django轻量级框架】云端系统之Django框架进阶
  5. java基本数据类型转换
  6. Windows环境下32位汇编程序设计C版code--第四章
  7. Error:(108) No resource identifier found for attribute #39;style#39; in package #39;android#39;
  8. 增强——BTE流程简介
  9. 推荐系统——开源代码
  10. 少儿编程100讲轻松学python(二)-python cv2模块怎么安装
  11. shell判定一个变量等于-n_Shell test命令:条件判断,检查某条件是否成立
  12. Kubernetes 也有局限性吗?
  13. aide入侵检测工具与crontab
  14. Linux逻辑卷(LVM)技术详解
  15. Mac安装和配置Tomcat的教程
  16. Java开源内容管理CMS系统J4CMS的几个样式
  17. matlab powf,科学网—MZDDE中操作数更正 - 张凯元的博文
  18. 换号码的烦恼引起的思考
  19. 华为三层交换机路由配置案例_华为三层交换与路由配置
  20. android 生物识别_将生物识别提示与cryptoobject一起使用

热门文章

  1. 删除计算机共享信息命令,win10系统使用命令将网络共享删除的操作办法
  2. html怎么移动到vue,vue自定义指令之拖动页面的元素
  3. nvidia TX2 CUDA yolov5环境搭建
  4. 移植内核过程的几个问题
  5. Java 替换字符串中的回车换行符的方法
  6. 95-32-010-ChannelPipeline-简介md
  7. 【ElasticSearch】 Hive数据导入到 es 的 项目 FastIndex
  8. 【Flink】kafka FlinkKafkaException send data to Kafka old epoch newer producer same transactionalId
  9. 95-40-032-java.util.concurrent-ConcurrentHashMap
  10. Mac下IDEA安装Protobuf插件