微信小程序用户数据签名解密问题
发布于 6 年前 作者 xiajun 18734 次浏览 来自 问答

我的服务器使用的是ThinkPHP5 框架

引用的官方 PHP的sample

我是将官方的文件作为拓展类引用的

运行后返回数据-41001

用这个错误编码从官方程序里找到了报错代码
<?php
namespace sample;

class ErrorCode
{
public static $OK 0;
public static $IllegalAesKey = -41001;
public static $IllegalIv = -41002;
public static $IllegalBuffer = -41003;
public static $DecodeBase64Error = -41004;
}
?>
IllegalAesKey 这个错误是什么意思,我应该怎么解决

3 回复
  $res = file_get_contents($url); //获取文件内容或获取网络请求的内容
$resuu=json_decode($res, true);
       $session3rd = randomFromDev(16);

     
       $sessionKey = $resuu['session_key'];

       $encryptedData=Request::instance()->header('x-wx-encrypted-data');

       $iv = Request::instance()->header('x-wx-iv');

       $pc =new WXBizDataCrypt($appid, $sessionKey);
       $errCode = $pc->decryptData($encryptedData, $iv, $data );

走通了。顺着程序走了一遍把不通的地方的语法挨个调了一遍

请检查一下sessionKey有没有正确的设置,WXBizDataCrypt类中decryptData时对sessionKey长度校验失败会产生该异常

回到顶部