PHP开发微信公共平台(验证token)ZendFramework

        define('TOKEN', '3FC50DEAED1083F162BB3D36FF053709');
        //这个是TOKEN,我用的是一个字符串的MD5
        $signature = $this->_request->getParam('signature', '');
        //微信加密签名,可以用$_GET['signature']
    	$timestamp = $this->_request->getParam('timestamp', '');//时间戳
    	$nonce = $this->_request->getParam('nonce', '');//随机数
    	$echostr = $this->_request->getParam('echostr', '');//随机字符串
    	/*
    	 * 加密/校验流程:
         *  1. 将token、timestamp、nonce三个参数进行字典序排序
	 *  2. 将三个参数字符串拼接成一个字符串进行sha1加密
         *  3. 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信
    	 */
    	 $arr = array(TOKEN, $timestamp, $nonce);//组装参数
    	 sort($arr);//字典排序
    	 $str = implode($arr);//组装字符串
    	 $sha1 = sha1($str);//sha1加密
    	 if ($sha1 == $signature) {
    	 	echo  $echostr;
    	 }

官方接口例子:http://mp.weixin.qq.com/wiki/index.php?title=%E6%B6%88%E6%81%AF%E6%8E%A5%E5%8F%A3%E6%8C%87%E5%8D%97#.E6.B3.A8.E6.84.8F.E4.BA.8B.E9.A1.B9

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏我是攻城师

Java中4大基本加密算法解析

83050
来自专栏FreeBuf

从小白变RSA大神,附常用工具使用方法及CTF中RSA典型例题

前言 RSA加解密类题型是ctf题中常见题型,考点比较广泛,涉及各种攻击手法,以前在这栽了不少跟头,这里好好总结一下。包括RSA加密原理,RSA常用工具使用方法...

75960
来自专栏草根专栏

Rx.NET 简介

官网: http://reactivex.io/ 它支持基本所有的主流语言. 这里我简单介绍一下Rx.NET. 基本概念和RxJS是一样的. 下面开始切入正题....

37790
来自专栏一个会写诗的程序员的博客

第10章 使用 Kotlin 创建 DSL第10章 使用 Kotlin 创建 DSL

使用DSL的编程风格,可以让程序更加简单干净、直观简洁。当然,我们也可以创建自己的 DSL。相对于传统的API, DSL 更加富有表现力、更符合人类语言习惯。

8920
来自专栏安恒网络空间安全讲武堂

技术分享 | 浅谈 RAS

一 首先介绍一下什么是RSA RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。 RSA的算法涉及...

28860
来自专栏jeremy的技术点滴

《Network Programming with Go》阅读重点备忘(一)

39670
来自专栏小鄧子的技术博客专栏

All RxJava - 为Retrofit添加重试

在我们的日常开发中离不开I/O操作,尤其是网络请求,但并不是所有的请求都是可信赖的,因此我们必须为APP添加请求重试功能。

33310
来自专栏Fundebug

JWT究竟是什么呢?

为了保证可读性,本文采用意译而非直译。另外,本文版权归原作者所有,翻译仅用于学习。

12870
来自专栏Java与Android技术栈

RxJava 线程模型分析

RxJava的被观察者在使用操作符时可以利用线程调度器--Scheduler来切换线程,例如

33320
来自专栏androidBlog

Rxjava 2.x 源码系列 - 线程切换 (下)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gdutxiaoxu/article/de...

17410

扫码关注云+社区

领取腾讯云代金券