diff --git a/phpseclib/Crypt/Base.php b/phpseclib/Crypt/Base.php index ee21273b..e6f57187 100644 --- a/phpseclib/Crypt/Base.php +++ b/phpseclib/Crypt/Base.php @@ -1326,6 +1326,9 @@ class Crypt_Base $ciphertext.= openssl_encrypt($plaintext . str_repeat("\0", $block_size), $this->cipher_name_openssl, $key, $this->openssl_options, $encryptIV); $encryptIV = $this->_string_pop($ciphertext, $block_size); } + if (!defined('OPENSSL_RAW_DATA')) { + $encryptIV.= openssl_encrypt(str_repeat(chr($this->block_size), $this->block_size), $this->cipher_name_openssl_ecb, $key, $this->openssl_options); + } $encryptIV = openssl_decrypt($encryptIV, $this->cipher_name_openssl_ecb, $key, $this->openssl_options); if ($overflow) { $this->_increment_str($encryptIV);