技术&日志

TP3.2封装小程序解密SDK

需要将 button 组件 open-type 的值设置为 getPhoneNumber,当用户点击并同意之后,可以通过 bindgetphonenumber 事件回调获取到微信服务器返回的加密数据, 然后在第三方服务端结合 session_key 以及 app_id 进行解密获取手机号。

1.下载官方PHP解密类
官方解密文件下载

在 Thinkphp/Library/Vendor/ 新建文件夹 XcxAes, 把WXBizDataCrypt.php与errorCode.php放到此文件夹中.

2.打开 WXBizDataCrypt.php
查找

include_once "errorCode.php";

替换

include_once dirname(__FILE__)  . "/errorCode.php";

3.控制器中使用

public function test()
{
    vendor('XcxAes.wxBizDataCrypt');
    $pc = new \ WXBizDataCrypt($this->appid, $sessionKey);
    $errCode = $pc->decryptData($encryptedData, $iv, $data );
    var_dump($data);

}