Merge branch 'crypt-fix-old-openssl' into 2.0

This commit is contained in:
terrafrost 2017-05-13 23:21:14 -05:00
commit 9fc9d2fa19
2 changed files with 20 additions and 1 deletions

View File

@ -317,6 +317,9 @@ class Blowfish extends Base
function isValidEngine($engine) function isValidEngine($engine)
{ {
if ($engine == self::ENGINE_OPENSSL) { if ($engine == self::ENGINE_OPENSSL) {
if (version_compare(PHP_VERSION, '5.3.7') < 0 && $this->key_length != 16) {
return false;
}
if ($this->key_length < 16) { if ($this->key_length < 16) {
return false; return false;
} }

View File

@ -145,7 +145,23 @@ class RC4 extends Base
function isValidEngine($engine) function isValidEngine($engine)
{ {
if ($engine == Base::ENGINE_OPENSSL) { if ($engine == Base::ENGINE_OPENSSL) {
if (version_compare(PHP_VERSION, '5.3.7') >= 0) {
$this->cipher_name_openssl = 'rc4-40'; $this->cipher_name_openssl = 'rc4-40';
} else {
switch (strlen($this->key)) {
case 5:
$this->cipher_name_openssl = 'rc4-40';
break;
case 8:
$this->cipher_name_openssl = 'rc4-64';
break;
case 16:
$this->cipher_name_openssl = 'rc4';
break;
default:
return false;
}
}
} }
return parent::isValidEngine($engine); return parent::isValidEngine($engine);