公众平台消息体签名及加解密方案概述

移动开发 Android

公众平台消息体签名及加解密方案概述

 

1.新增消息体签名验证,用于公众平台和公众账号验证消息体的正确性

 

2.针对推送给微信公众账号的普通消息和事件消息,以及推送给设备公众账号的设备消息进行加密

3.公众账号对密文消息的回复也要求加密

开发者需注意,公众账号主动调用API的情况将不受影响。

 

 

启用加解密功能(即选择兼容模式或安全模式)后,公众平台服务器在向公众账号服务器配置地址(可在“开发者中心”修改)推送消息时,URL将新增加两个参数(加密类型和消息体签名),并以此来体现新功能。加密算法采用AES,具体的加解密流程和方案请看接入指引、技术方案和示例代码。

 

 

 

为了配合消息加密功能的上线,并帮助开发者适配新特性,公众平台提供了3种加解密的模式供开发者选择,即明文模式、兼容模式、安全模式(可在“开发者中心”选择相应模式),选择兼容模式和安全模式前,需在开发者中心填写消息加解密密钥EncodingAESKey。

 

明文模式:维持现有模式,没有适配加解密新特性,消息体明文收发,默认设置为明文模式

兼容模式:公众平台发送消息内容将同时包括明文和密文,消息包长度增加到原来的3倍左右;公众号回复明文或密文均可,不影响现有消息收发;开发者可在此模式下进行调试

安全模式(推荐):公众平台发送消息体的内容只含有密文,公众账号回复的消息体也为密文,建议开发者在调试成功后使用此模式收发消息

 

 

什么是EncodingAESKey?

微信公众平台采用AES对称加密算法对推送给公众帐号的消息体对行加密,EncodingAESKey则是加密所用的秘钥。公众帐号用此秘钥对收到的密文消息体进行解密,回复消息体也用此秘钥加密。

 

 

 

此外,微信公众平台为开发者提供了5种语言的示例代码(包括C++、php、Java、Python和C#版本,../static/assets/a5a22f38cb60228cb32ab61d9e4c414b.zip )。 请开发者查看接入指引和开发者FAQ来接入消息体签名及加解密功能,若关注技术实现,可查看技术方案。

 

责任编辑:chenqingxiang
相关推荐

2015-02-11 15:56:20

微信SDK

2015-02-11 15:27:26

微信SDK

2018-05-09 10:48:58

Android加密密码学

2015-02-11 14:45:16

微信SDK

2013-04-08 16:19:40

微信微信公众平台图文消息

2017-12-07 10:25:55

LinuxGPG加密解密

2013-04-10 18:29:09

微信公众平台接口开发

2016-09-27 19:30:11

2020-12-13 09:40:11

物联网物联网安全加密方法

2022-01-26 07:25:09

PythonRSA加解密

2013-04-10 18:48:56

微信公众平台技巧

2011-08-01 14:36:06

加密RSA

2022-07-27 08:49:34

接口加密解密

2013-04-12 01:22:02

2020-09-24 10:50:53

加密解密语言hmac

2020-04-14 11:43:54

Python加密解密授权认证

2013-07-22 09:24:33

微信系统推送

2013-07-22 11:01:24

微信公众系统故障

2021-12-28 13:54:52

加密密钥Java

2022-11-18 18:36:24

点赞
收藏

51CTO技术栈公众号