* * 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 */ 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; } }