微信PHP解密

openssl 实现:

        $result = openssl_decrypt(base64_decode($data),
            "AES-128-CBC",
            base64_decode($key),
            OPENSSL_RAW_DATA,
            base64_decode($iv));
        var_dump($result);

mcrypt 实现


        $module = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, '');
        //用密钥key、初始化向量初始化
        mcrypt_generic_init($module, base64_decode($key), base64_decode($iv));
        //**执行解密**(得到带有PKCS#7填充的半原文,所以要去除填充)
        $result = mdecrypt_generic($module, base64_decode($data));
        //清理工作与关闭解密
        mcrypt_generic_deinit($module);
        mcrypt_module_close($module);
        //去除填充
        $lastByte = substr($result, -1);
        $result = substr($result, 0, strlen($result) - ord($lastByte));
        var_dump($result);