PHPIN.NET

 找回密码
 立即注册
查看: 5772|回复: 0

[其他相关] 微信加密用户数据对称解密函数版

[复制链接]

469

主题

31

回帖

5569

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5569
发表于 2021-6-2 09:46:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

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

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

  12.         $appid = '你的APPID';

  13.         if (strlen($sessionKey) != 24) {
  14.                 $api->load('fun')->json(41001, [], 'encodingAesKey非法');
  15.         }
  16.         $aesKey = base64_decode($sessionKey);
  17.         if (strlen($iv) != 24) {
  18.                 $api->load('fun')->json(41002, [], '初始向量非法');
  19.         }
  20.         $aesIV = base64_decode($iv);
  21.         $aesCipher = base64_decode($encryptedData);
  22.         $result = openssl_decrypt($aesCipher, "AES-128-CBC", $aesKey, 1, $aesIV);
  23.         $dataObj = json_decode($result);
  24.         if ($dataObj == NULL) {
  25.                 /*$api->load('fun')->json(41003, [
  26.                         'sessionKey' => $sessionKey,
  27.                         'encryptedData' => $encryptedData,
  28.                         'iv' => $iv,
  29.                         ], 'AES解密失败1');*/
  30.                 $api->load('fun')->json(41003-1, [], '获取用户数据失败,请重新试'); // aes 解密失败
  31.         }
  32.         if ($dataObj->watermark->appid != $appid) {
  33.                 $api->load('fun')->json(41003-2, [], '用户数据校验失败,请重新试'); // aes 解密失败
  34.         }

  35.         return $result;
  36. }
复制代码


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|PHPIN.NET ( 冀ICP备12000898号-14 )|网站地图

GMT+8, 2024-11-21 15:35

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表