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

@@ 2234-2248 (lines=15) @@
2231
    }
2232
}
2233
2234
function teampass_pbkdf2_hash($var_p, $var_s, $var_c, $var_kl, $var_st = 0, $var_a = 'sha256')
2235
{
2236
    $var_kb = $var_st + $var_kl;
2237
    $var_dk = '';
2238
2239
    for ($block = 1; $block <= $var_kb; $block++) {
2240
        $var_ib = $var_h = hash_hmac($var_a, $var_s.pack('N', $block), $var_p, true);
2241
        for ($var_i = 1; $var_i < $var_c; $var_i++) {
2242
            $var_ib ^= ($var_h = hash_hmac($var_a, $var_h, $var_p, true));
2243
        }
2244
        $var_dk .= $var_ib;
2245
    }
2246
2247
    return substr($var_dk, $var_st, $var_kl);
2248
}
2249