Compare commits
2
Commits
master
...
c095fd663f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c095fd663f | ||
|
|
7f0987d036 |
@@ -125,11 +125,33 @@ final class CoreLibsCreateRandomKeyTest extends TestCase
|
||||
);
|
||||
$this->assertEquals(
|
||||
$expected,
|
||||
strlen($random_key),
|
||||
'String length not matching'
|
||||
strlen(\CoreLibs\Create\RandomKey::randomKeyGen($input))
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check that if set to n and then invalid, it keeps the previous one
|
||||
* or if second change valid, second will be shown
|
||||
*
|
||||
* @covers ::setRandomKeyLength
|
||||
* @dataProvider keepKeyLengthProvider
|
||||
* @testdox keep setRandomKeyLength set with $input_valid and then $input_invalid will be $expected [$_dataName]
|
||||
*
|
||||
* @param integer $input_valid
|
||||
* @param integer $input_invalid
|
||||
* @param integer $expected
|
||||
* @return void
|
||||
*/
|
||||
public function testKeepKeyLength(int $input_valid, int $input_invalid, int $expected): void
|
||||
{
|
||||
\CoreLibs\Create\RandomKey::setRandomKeyLength($input_valid);
|
||||
\CoreLibs\Create\RandomKey::setRandomKeyLength($input_invalid);
|
||||
$this->assertEquals(
|
||||
$expected,
|
||||
\CoreLibs\Create\RandomKey::getRandomKeyLength()
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// __END__
|
||||
|
||||
@@ -53,6 +53,10 @@ print "===<Br>";
|
||||
// CHANGE key characters
|
||||
$_array = new CoreLibs\Create\RandomKey(['A', 'F', 'B'], ['1', '5', '9']);
|
||||
print "C->RANDOMKEYGEN(pre set): " . $_array->randomKeyGen() . "<br>";
|
||||
$random_key = new CoreLibs\Create\RandomKey();
|
||||
print "C->RANDOMKEYGEN(auto): " . $random_key->randomKeyGen() . "<br>";
|
||||
$random_key->setRandomKeyCharacters(['a', 'z']);
|
||||
print "C->RANDOMKEYGEN(Fixed set): " . $random_key->randomKeyGen() . "<br>";
|
||||
|
||||
print "</body></html>";
|
||||
|
||||
|
||||
@@ -119,6 +119,32 @@ class RandomKey
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* sets a different character range
|
||||
*
|
||||
* @param array<array{0:string,1:string}> $ranges
|
||||
* @return bool
|
||||
*/
|
||||
public static function setRandomKeyCharacters(array ...$ranges): bool
|
||||
{
|
||||
// each range must be an arary of start end range
|
||||
$character_range = [];
|
||||
foreach ($ranges as $range) {
|
||||
if (count($range) != 2) {
|
||||
throw new \ArgumentCountError(__FUNCTION__ . ' array must have two range entries');
|
||||
}
|
||||
$character_range = array_merge($character_range, range($range[0], $range[1]));
|
||||
}
|
||||
self::$key_range = join('', $character_range);
|
||||
self::$one_key_length = strlen(self::$key_range);
|
||||
if (
|
||||
self::$one_key_length == 0
|
||||
) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* sets the key length and checks that they key given is valid
|
||||
* if failed it will not change the default key length and return false
|
||||
|
||||
Reference in New Issue
Block a user