Code Duplication    Length = 14-15 lines in 2 locations

sources/main.functions.php 1 location

@@ 61-74 (lines=14) @@
58
}
59
60
//generate pbkdf2 compliant hash
61
function strHashPbkdf2($var_p, $var_s, $var_c, $var_kl, $var_a = 'sha256', $var_st = 0)
62
{
63
    $var_kb = $var_st + $var_kl; // Key blocks to compute
64
    $var_dk = ''; // Derived key
65
66
    for ($block = 1; $block <= $var_kb; $block++) { // Create key
67
        $var_ib = $var_h = hash_hmac($var_a, $var_s.pack('N', $block), $var_p, true); // Initial hash for this block
68
        for ($var_i = 1; $var_i < $var_c; $var_i++) { // Perform block iterations
69
            $var_ib ^= ($var_h = hash_hmac($var_a, $var_h, $var_p, true)); // XOR each iterate
70
        }
71
        $var_dk .= $var_ib; // Append iterated block
72
    }
73
    return substr($var_dk, $var_st, $var_kl); // Return derived key of correct length
74
}
75
76
/**
77
 * stringUtf8Decode()

api/functions.php 1 location

@@ 2322-2336 (lines=15) @@
2319
    }
2320
}
2321
2322
function teampass_pbkdf2_hash($var_p, $var_s, $var_c, $var_kl, $var_st = 0, $var_a = 'sha256')
2323
{
2324
    $var_kb = $var_st + $var_kl;
2325
    $var_dk = '';
2326
2327
    for ($block = 1; $block <= $var_kb; $block++) {
2328
        $var_ib = $var_h = hash_hmac($var_a, $var_s.pack('N', $block), $var_p, true);
2329
        for ($var_i = 1; $var_i < $var_c; $var_i++) {
2330
            $var_ib ^= ($var_h = hash_hmac($var_a, $var_h, $var_p, true));
2331
        }
2332
        $var_dk .= $var_ib;
2333
    }
2334
2335
    return substr($var_dk, $var_st, $var_kl);
2336
}
2337