admin 发表于 2021-6-2 09:46:54

微信加密用户数据对称解密函数版

微信加密用户数据对称解密函数版

<?php
/**
* @Author: MaXian
* @Date:   2021-06-02 09:46:11
* @Last Modified by:   MaXian
* @Last Modified time: 2021-06-02 09:46:11
*/
// 微信加密用户数据 对称解密
function wxDecryptData($sessionKey, $encryptedData, $iv)
{
      global $api;

      $appid = '你的APPID';

      if (strlen($sessionKey) != 24) {
                $api->load('fun')->json(41001, [], 'encodingAesKey非法');
      }
      $aesKey = base64_decode($sessionKey);
      if (strlen($iv) != 24) {
                $api->load('fun')->json(41002, [], '初始向量非法');
      }
      $aesIV = base64_decode($iv);
      $aesCipher = base64_decode($encryptedData);
      $result = openssl_decrypt($aesCipher, "AES-128-CBC", $aesKey, 1, $aesIV);
      $dataObj = json_decode($result);
      if ($dataObj == NULL) {
                /*$api->load('fun')->json(41003, [
                        'sessionKey' => $sessionKey,
                        'encryptedData' => $encryptedData,
                        'iv' => $iv,
                        ], 'AES解密失败1');*/
                $api->load('fun')->json(41003-1, [], '获取用户数据失败,请重新试'); // aes 解密失败
      }
      if ($dataObj->watermark->appid != $appid) {
                $api->load('fun')->json(41003-2, [], '用户数据校验失败,请重新试'); // aes 解密失败
      }

      return $result;
}

页: [1]
查看完整版本: 微信加密用户数据对称解密函数版