2 declare(strict_types = 1);
19 use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
31 $this->expectException(\InvalidArgumentException::class);
32 $this->expectExceptionCode(1533903544);
41 $this->expectException(\InvalidArgumentException::class);
42 $this->expectExceptionCode(1533903544);
53 $this->assertNull($subject->getHashedPassword($password));
63 $this->assertNotNull($subject->getHashedPassword($password));
71 $password =
'password';
73 $saltedHashPassword = $subject->getHashedPassword($password);
74 $this->assertTrue($subject->isValidSaltedPW($saltedHashPassword));
87 $password =
'password';
88 $saltedHashPassword =
'$pbkdf2-sha256$1000$woPhT0yoWm3AXJXSjuxJ3w$iZ6EvTulMqXlzr0NO8z5EyrklFcJk5Uw2Fqje68FfaQ';
90 $this->assertTrue($subject->checkPassword($password, $saltedHashPassword));
100 $password =
'password';
101 $saltedHashPassword =
'$pbkdf2-sha256$1000$woPhT0yoWm3AXJXSjuxJ3w$iZ6EvTulMqXlzr0NO8z5EyrklFcJk5Uw2Fqje68Ffa';
103 $this->assertFalse($subject->checkPassword($password, $saltedHashPassword));
116 $password =
'aEjOtY';
118 $saltedHashPassword = $subject->getHashedPassword($password);
119 $this->assertTrue($subject->checkPassword($password, $saltedHashPassword));
134 $saltedHashPassword = $subject->getHashedPassword($password);
135 $this->assertTrue($subject->checkPassword($password, $saltedHashPassword));
148 $password =
' !"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~';
150 $saltedHashPassword = $subject->getHashedPassword($password);
151 $this->assertTrue($subject->checkPassword($password, $saltedHashPassword));
165 for ($i = 160; $i <= 191; $i++) {
166 $password .= chr($i);
168 $password .= chr(215) . chr(247);
170 $saltedHashPassword = $subject->getHashedPassword($password);
171 $this->assertTrue($subject->checkPassword($password, $saltedHashPassword));
185 for ($i = 192; $i <= 214; $i++) {
186 $password .= chr($i);
188 for ($i = 216; $i <= 246; $i++) {
189 $password .= chr($i);
191 for ($i = 248; $i <= 255; $i++) {
192 $password .= chr($i);
195 $saltedHashPassword = $subject->getHashedPassword($password);
196 $this->assertTrue($subject->checkPassword($password, $saltedHashPassword));
204 $password =
'password';
205 $password1 = $password .
'INVALID';
207 $saltedHashPassword = $subject->getHashedPassword($password);
208 $this->assertFalse($subject->checkPassword($password1, $saltedHashPassword));
216 $password =
'password';
218 $saltedHashPassword = $subject->getHashedPassword($password);
219 $this->assertFalse($subject->isHashUpdateNeeded($saltedHashPassword));
228 $saltedHashPassword = $subject->getHashedPassword(
'password');
230 $this->assertTrue($subject->isHashUpdateNeeded($saltedHashPassword));
238 $passlibSaltedHash=
'$pbkdf2-sha256$6400$.6UI/S.nXIk8jcbdHx3Fhg$98jZicV16ODfEsEZeYPGHU3kbrUrvUEXOPimVSQDD44';
240 $this->assertTrue($subject->checkPassword(
'password', $passlibSaltedHash));