2 namespace TYPO3\CMS\Saltedpasswords\Salt;
30 const ITOA64 =
'./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
61 $saltWithSettings = $salt;
64 if (strlen($salt) == $reqLenBase64) {
67 return $saltWithSettings;
82 $isCorrect = crypt($plainPW, $saltedHashPW) == $saltedHashPW;
100 $randomBytes = \TYPO3\CMS\Core\Utility\GeneralUtility::generateRandomBytes($this->
getSaltLength());
114 if (!empty($password)) {
150 return self::$saltLengthMD5;
160 return self::$saltSuffixMD5;
170 return self::$settingMD5;
198 $isValid = ($skip =
false);
200 if (strlen($salt) >= $reqLenBase64) {
202 if (!strncmp(
'$', $salt, 1)) {
205 $salt = substr($salt, strlen($this->
getSetting()));
211 if (!$skip && strlen($salt) >= $reqLenBase64) {
212 if (preg_match(
'/^[' . preg_quote($this->
getItoa64(),
'/') .
']{' . $reqLenBase64 .
',' . $reqLenBase64 .
'}$/', substr($salt, 0, $reqLenBase64))) {