12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- <?php
- /*
- * This file is part of the overtrue/wechat.
- *
- * (c) overtrue <i@overtrue.me>
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
- namespace EasyWeChat\MiniProgram;
- use EasyWeChat\Kernel\Encryptor as BaseEncryptor;
- use EasyWeChat\Kernel\Exceptions\DecryptException;
- use EasyWeChat\Kernel\Support\AES;
- /**
- * Class Encryptor.
- *
- * @author mingyoung <mingyoungcheung@gmail.com>
- */
- class Encryptor extends BaseEncryptor
- {
- /**
- * Decrypt data.
- *
- * @throws \EasyWeChat\Kernel\Exceptions\DecryptException
- */
- public function decryptData(string $sessionKey, string $iv, string $encrypted): array
- {
- $decrypted = AES::decrypt(
- base64_decode($encrypted, false),
- base64_decode($sessionKey, false),
- base64_decode($iv, false)
- );
- $decrypted = json_decode($decrypted, true);
- if (!$decrypted) {
- throw new DecryptException('The given payload is invalid.');
- }
- return $decrypted;
- }
- }
|