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

@@ 2301-2315 (lines=15) @@
2298
    }
2299
}
2300
2301
function teampass_pbkdf2_hash($var_p, $var_s, $var_c, $var_kl, $var_st = 0, $var_a = 'sha256')
2302
{
2303
    $var_kb = $var_st + $var_kl;
2304
    $var_dk = '';
2305
2306
    for ($block = 1; $block <= $var_kb; $block++) {
2307
        $var_ib = $var_h = hash_hmac($var_a, $var_s.pack('N', $block), $var_p, true);
2308
        for ($var_i = 1; $var_i < $var_c; $var_i++) {
2309
            $var_ib ^= ($var_h = hash_hmac($var_a, $var_h, $var_p, true));
2310
        }
2311
        $var_dk .= $var_ib;
2312
    }
2313
2314
    return substr($var_dk, $var_st, $var_kl);
2315
}
2316