微信公众平台接入方式
来源:互联网 发布:苹果手机数据漫游 编辑:程序博客网 时间:2024/05/21 10:40
微信公众平台目前有订阅号、服务号、企业号三种类型。接入的方式分为明文、兼容和密文三种。明文模式下,不使用消息体加解密功能,安全系数较低。兼容模式下,明文、密文将共存,方便开发者调试和维护安全模式下,消息包为纯密文,需要开发者加密和解密,安全系数高。推荐使用安全模式。微信后台对要发送的消息进行AES-CBC加密,具体使用的是SHA1算法。三种类型公众号的接入原理都是一样的。
注意事项:接入验证TOKEN的过程中,微信后台会额外带上3个参数:signature、timestamp(时间戳)、nonce(随机数)。signature是对timestamp、nonce和TOKEN进行SHA1加密运算后的字符串。我们自己的服务器收到上面三个参数后,同样适用SHA1运算得到自己的签名signature,并将结果与微信后台提供的签名signature进行比较,一致那么接入成功。不一致可通过微信官方提供的接口调试工具进行调试。
下面是明文接入和密文接入的两种PHP源代码。仅供参考。
//接入公众号验证基类
class wechatlogin
{
public function valid()
{
//验证签名是否有效 , 用于判断是否为接入验证请求。
if($this->checkSignature()) { echo $echoStr; exit; }}private function checkSignature() { if (!defined("TOKEN")) { throw new Exception('TOKEN is not defined!'); } $signature = $_GET["signature"]; $timestamp = $_GET["timestamp"]; $nonce = $_GET["nonce"]; $token = TOKEN; $tmpArr = array($token, $timestamp, $nonce); sort($tmpArr, SORT_STRING); $tmpStr = implode( $tmpArr ); $tmpStr = sha1( $tmpStr ); //比较两个签名是否一致 if( $tmpStr == $signature ) { return true; }else { return false; } }
};
0 0
- 微信公众平台接入方式
- 微信公众平台接入
- 微信公众平台接入
- 微信公众平台接入
- 微信公众平台接入
- 接入微信公众平台
- 微信公众平台接入机器人小黄鸡
- 【微信公众平台】SAE接入
- java接入微信公众平台
- Flask + SAE 接入微信公众平台
- 微信公众平台接入指南
- PHP接入微信公众平台
- 微信公众平台 java 接入 1
- 微信公众平台java接入
- php微信公众平台开发--接入微信API
- 微信公众平台开发----接入微信接口
- 微信开发-初级接入微信公众平台MP
- 微信开放平台,公众号第三方平台接入
- slist双向链表容器
- 常用数据结构-几种特殊的二叉树
- 如何修改Tomcat服务器Server Locations
- Effective C++ 条款39
- How to install Tomcat in Ubuntu 14.04
- 微信公众平台接入方式
- LeetCode OJ 之 Happy Number (happy数)
- 混淆点总结:重载与重写的区别?
- java如何判断数组中是否包含某元素
- dispaly的 inline, block, inline-block
- android 多进程编程 必看!
- 有效处理Java异常三原则
- Oracle数据字典常用sql
- linux的sendfile()系统调用