PHP openssl AES-256-ECB和IV

PHP openssl AES-256-ECB和IV,php,aes,php-openssl,Php,Aes,Php Openssl,我正在尝试连接到一个PHP web服务,该服务使用AES-256-ECB和IV进行加密。我已获得一个密钥和IV 我正在尝试解密响应启动: W4Nhk94QkBHkCXcsQarx/DO4BRABZEPDNFVCT7BGKMSCC+UgAZdIWZJegzB2lkwMRPQTynL $iv='XXXXXXX'; $key='XXXXXXXX'; $response = $client->getQuote($params); $decrypted = openssl_decr

我正在尝试连接到一个PHP web服务,该服务使用AES-256-ECB和IV进行加密。我已获得一个密钥和IV

我正在尝试解密响应启动: W4Nhk94QkBHkCXcsQarx/DO4BRABZEPDNFVCT7BGKMSCC+UgAZdIWZJegzB2lkwMRPQTynL

$iv='XXXXXXX';
$key='XXXXXXXX';

$response = $client->getQuote($params);
        $decrypted = openssl_decrypt($response, 'aes-256-ecb', $key, OPENSSL_RAW_DATA, $iv);
        echo $decrypted;
我得到以下错误:


警告:openssl_decrypt():传递的IV长度为32字节,比所选密码预期的0长,截断

ECB模式不使用IV。应用带有IV的模式时,AES的大小必须为16字节(通常,IV的大小对应于密码的块大小)。密文似乎是Base64编码的,即在解密之前必须对其进行Base64解码,或者必须省略参数
OPENSSL\u RAW\u DATA
。ECB是一种不安全的模式,CBC(保密性)更好,GCM(保密性、完整性)更好。为了完整起见,AES-256使用了一个32字节的密钥。非常感谢。我不认为欧洲央行支持IV。网络服务的开发者说他们正在使用IV。我已经要求他们澄清。如果回答是base64,这是正确的代码吗$decrypted=openssl_decrypt($response,'aes-256-ecb',$key,0);对或者,可以省略第4个参数,因为
0
是其默认值。