Code Duplication    Length = 32-32 lines in 2 locations

lib/RandomLib/Source/MTRand.php 1 location

@@ 49-80 (lines=32) @@
46
 * @author     Anthony Ferrara <[email protected]>
47
 * @codeCoverageIgnore
48
 */
49
class MTRand extends \RandomLib\AbstractSource
50
{
51
52
    /**
53
     * Return an instance of Strength indicating the strength of the source
54
     *
55
     * @return \SecurityLib\Strength An instance of one of the strength classes
56
     */
57
    public static function getStrength()
58
    {
59
        // Detect if Suhosin Hardened PHP patch is applied
60
        if (defined('S_ALL')) {
61
            return new Strength(Strength::MEDIUM);
62
        } else {
63
            return new Strength(Strength::LOW);
64
        }
65
    }
66
67
    /**
68
     * Generate a random string of the specified size
69
     *
70
     * @param int $size The size of the requested random string
71
     *
72
     * @return string A string of the requested size
73
     */
74
    public function generate($size)
75
    {
76
        $result = '';
77
        for ($i = 0; $i < $size; $i++) {
78
            $result .= chr((mt_rand() ^ mt_rand()) % 256);
79
        }
80
81
        return $result;
82
    }
83
}

lib/RandomLib/Source/Rand.php 1 location

@@ 49-80 (lines=32) @@
46
 * @author     Anthony Ferrara <[email protected]>
47
 * @codeCoverageIgnore
48
 */
49
class Rand extends \RandomLib\AbstractSource
50
{
51
52
    /**
53
     * Return an instance of Strength indicating the strength of the source
54
     *
55
     * @return \SecurityLib\Strength An instance of one of the strength classes
56
     */
57
    public static function getStrength()
58
    {
59
        // Detect if Suhosin Hardened PHP patch is applied
60
        if (defined('S_ALL')) {
61
            return new Strength(Strength::LOW);
62
        } else {
63
            return new Strength(Strength::VERYLOW);
64
        }
65
    }
66
67
    /**
68
     * Generate a random string of the specified size
69
     *
70
     * @param int $size The size of the requested random string
71
     *
72
     * @return string A string of the requested size
73
     */
74
    public function generate($size)
75
    {
76
        $result = '';
77
        for ($i = 0; $i < $size; $i++) {
78
            $result .= chr((rand() ^ rand()) % 256);
79
        }
80
81
        return $result;
82
    }
83
}