forked from extern/egroupware
keep Travis happy by only conditional defining hash_pbkdf2 in polyfill
This commit is contained in:
parent
39c37afb6a
commit
65a26d707a
@ -5,21 +5,25 @@
|
||||
* @author Sebastiaan Stok <s.stok@rollerscapes.net>
|
||||
* @link https://github.com/symfony/polyfill-php55/blob/master/Php55.php
|
||||
*/
|
||||
function hash_pbkdf2($algorithm, $password, $salt, $iterations, $length = 0, $rawOutput = false)
|
||||
|
||||
if (!function_exists('hash_pbkdf2'))
|
||||
{
|
||||
// Number of blocks needed to create the derived key
|
||||
$blocks = ceil($length / strlen(hash($algorithm, null, true)));
|
||||
$digest = '';
|
||||
for ($i = 1; $i <= $blocks; ++$i) {
|
||||
$ib = $block = hash_hmac($algorithm, $salt.pack('N', $i), $password, true);
|
||||
// Iterations
|
||||
for ($j = 1; $j < $iterations; ++$j) {
|
||||
$ib ^= ($block = hash_hmac($algorithm, $block, $password, true));
|
||||
function hash_pbkdf2($algorithm, $password, $salt, $iterations, $length = 0, $rawOutput = false)
|
||||
{
|
||||
// Number of blocks needed to create the derived key
|
||||
$blocks = ceil($length / strlen(hash($algorithm, null, true)));
|
||||
$digest = '';
|
||||
for ($i = 1; $i <= $blocks; ++$i) {
|
||||
$ib = $block = hash_hmac($algorithm, $salt.pack('N', $i), $password, true);
|
||||
// Iterations
|
||||
for ($j = 1; $j < $iterations; ++$j) {
|
||||
$ib ^= ($block = hash_hmac($algorithm, $block, $password, true));
|
||||
}
|
||||
$digest .= $ib;
|
||||
}
|
||||
$digest .= $ib;
|
||||
if (!$rawOutput) {
|
||||
$digest = bin2hex($digest);
|
||||
}
|
||||
return substr($digest, 0, $length);
|
||||
}
|
||||
if (!$rawOutput) {
|
||||
$digest = bin2hex($digest);
|
||||
}
|
||||
return substr($digest, 0, $length);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user