Code Duplication    Length = 14-15 lines in 2 locations

sources/main.functions.php 1 location

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

api/functions.php 1 location

@@ 2696-2710 (lines=15) @@
2693
    }
2694
}
2695
2696
function teampass_pbkdf2_hash($var_p, $var_s, $var_c, $var_kl, $var_st = 0, $var_a = 'sha256')
2697
{
2698
    $var_kb = $var_st + $var_kl;
2699
    $var_dk = '';
2700
2701
    for ($block = 1; $block <= $var_kb; $block++) {
2702
        $var_ib = $var_h = hash_hmac($var_a, $var_s.pack('N', $block), $var_p, true);
2703
        for ($var_i = 1; $var_i < $var_c; $var_i++) {
2704
            $var_ib ^= ($var_h = hash_hmac($var_a, $var_h, $var_p, true));
2705
        }
2706
        $var_dk .= $var_ib;
2707
    }
2708
2709
    return substr($var_dk, $var_st, $var_kl);
2710
}
2711