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

@@ 2171-2185 (lines=15) @@
2168
    }
2169
}
2170
2171
function teampass_pbkdf2_hash($var_p, $var_s, $var_c, $var_kl, $var_st = 0, $var_a = 'sha256')
2172
{
2173
    $var_kb = $var_st + $var_kl;
2174
    $var_dk = '';
2175
2176
    for ($block = 1; $block <= $var_kb; $block++) {
2177
        $var_ib = $var_h = hash_hmac($var_a, $var_s.pack('N', $block), $var_p, true);
2178
        for ($var_i = 1; $var_i < $var_c; $var_i++) {
2179
            $var_ib ^= ($var_h = hash_hmac($var_a, $var_h, $var_p, true));
2180
        }
2181
        $var_dk .= $var_ib;
2182
    }
2183
2184
    return substr($var_dk, $var_st, $var_kl);
2185
}
2186