Voting

: min(one, two)?
(Example: nine)

The Note You're Voting On

does dot not at matter dot org
11 years ago
this snippet was posted over a year ago on a dutch PHP community: (reference/source: http://www.phphulp.nl/php/script/beveiliging/pbkdf2-een-veilige-manier-om-wachtwoorden-op-te-slaan/1956/pbkdf2php/1757/)

<?php

/**
* @author Chris Horeweg
* @package Security_Tools
*/

function pbkdf2($password, $salt, $algorithm = 'sha512', $count = 20000, $key_length = 128, $raw_output = false)
{
if(!
in_array($algorithm, hash_algos(), true)) {
exit(
'pbkdf2: Hash algoritme is niet geinstalleerd op het systeem.');
}

if(
$count <= 0 || $key_length <= 0) {
$count = 20000;
$key_length = 128;
}

$hash_length = strlen(hash($algorithm, "", true));
$block_count = ceil($key_length / $hash_length);

$output = "";
for(
$i = 1; $i <= $block_count; $i++) {
$last = $salt . pack("N", $i);
$last = $xorsum = hash_hmac($algorithm, $last, $password, true);
for (
$j = 1; $j < $count; $j++) {
$xorsum ^= ($last = hash_hmac($algorithm, $last, $password, true));
}
$output .= $xorsum;
}

if(
$raw_output) {
return
substr($output, 0, $key_length);
}
else {
return
base64_encode(substr($output, 0, $key_length));
}
}

<< Back to user notes page

To Top