原创声明:本文为作者原创,未经允许不得转载,经授权转载需注明作者和出处
1:基本信息:
能直接看到(明文),是微信认为不敏感的信息,如:昵称、头像、性别等
2:签名验证信息:
验证接收的这些信息是否安全(和发出来时一致,没被中途修改或者伪造)
详见此文:
7:用户数据签名详解(加解密、签名系列)
3:加密信息:
对于微信认为的敏感数据,如openId、unionId等
微信服务器通过AES加密算法
把所有能看到敏感数据加密为encryptedData密文
。
如果想得到openId
和unionId
,就需要encryptedData
进行AES解密
首次看到如上解密说明时,我只知道encryptedData和session_key获得方式。
session_key在上篇有介绍,如下:
1:获得session_key和openId(加解密、签名系列)
AES-128-CBC是什么?
PKCS#7数据填充是什么?
Base64_Decode是什么?
初始向量iv是做什么用的?
每种后台语言都有AES相应的接口支持,调用即可。
微信官方提供了(PHP,Node,Phython,C++)编程语言的示例代码
每种语言类型的接口名字均一致。
调用方式可以参照官方提供示例
(点击下载示例代码)