From: Stricted Date: Mon, 13 Jul 2015 12:46:52 +0000 (+0200) Subject: fix derivedk calculation X-Git-Tag: 1.0.0 X-Git-Url: https://git.stricted.de/?p=GitHub%2FStricted%2Fspeedport-hybrid-php-api.git;a=commitdiff_plain;h=aebf6b7676762d3bc88d3a33f414db6504005151 fix derivedk calculation --- diff --git a/SpeedportHybrid.class.php b/SpeedportHybrid.class.php index 319b97d..81152c3 100644 --- a/SpeedportHybrid.class.php +++ b/SpeedportHybrid.class.php @@ -95,10 +95,11 @@ class SpeedportHybrid { } // calculate derivedk - if (version_compare(phpversion(), '5.5.0', '<')) { + if (!function_exists("hash_pbkdf2")) { require_once 'CryptLib/CryptLib.php'; - $pbkdf2 = new CryptLib\Key\Derivation\PBKDF\PBKDF2(); - $this->derivedk = $pbkdf2->derive(hash('sha256', $password), substr($this->challenge, 0, 16), 1000, 32); + $pbkdf2 = new CryptLib\Key\Derivation\PBKDF\PBKDF2(array('hash' => 'sha1')); + $this->derivedk = bin2hex($pbkdf2->derive(hash('sha256', $password), substr($this->challenge, 0, 16), 1000, 32)); + $this->derivedk = substr($this->derivedk, 0, 32); } else { $this->derivedk = hash_pbkdf2('sha1', hash('sha256', $password), substr($this->challenge, 0, 16), 1000, 32);