1
0
mirror of https://github.com/danog/phpseclib.git synced 2024-12-12 09:09:39 +01:00

Merge branch 'master-crypt-fix-old-openssl'

This commit is contained in:
terrafrost 2017-05-14 15:35:22 -05:00
commit c25eb3ed9b
2 changed files with 20 additions and 1 deletions

View File

@ -333,6 +333,9 @@ class Blowfish extends BlockCipher
public function isValidEngine($engine) public 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 StreamCipher
public function isValidEngine($engine) public function isValidEngine($engine)
{ {
if ($engine == self::ENGINE_OPENSSL) { if ($engine == self::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);