- the IV wasn't resetting when mcrypt was being used

git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@186 21d32557-59b3-4da0-833f-c5933fad653e
This commit is contained in:
Jim Wigginton 2011-11-16 06:53:36 +00:00
parent a00a5e6ba4
commit b1c7fed946
2 changed files with 19 additions and 1 deletions

View File

@ -258,6 +258,24 @@ class Crypt_AES extends Crypt_Rijndael {
return; return;
} }
/**
* Sets the initialization vector. (optional)
*
* SetIV is not required when CRYPT_RIJNDAEL_MODE_ECB is being used. If not explictly set, it'll be assumed
* to be all zero's.
*
* @access public
* @param String $iv
*/
function setIV($iv)
{
parent::setIV($iv);
if ( CRYPT_AES_MODE == CRYPT_AES_MODE_MCRYPT ) {
$this->changed = true;
}
}
/** /**
* Encrypts a message. * Encrypts a message.
* *

View File

@ -550,7 +550,7 @@ class Crypt_Rijndael {
*/ */
function setIV($iv) function setIV($iv)
{ {
$this->encryptIV = $this->decryptIV = $this->iv = str_pad(substr($iv, 0, $this->block_size), $this->block_size, chr(0));; $this->encryptIV = $this->decryptIV = $this->iv = str_pad(substr($iv, 0, $this->block_size), $this->block_size, chr(0));
} }
/** /**