2 namespace TYPO3\CMS\Saltedpasswords\Salt;
92 $saltWithSettings = $salt;
95 if (strlen($salt) == $reqLenBase64) {
98 return $saltWithSettings;
110 $setting = substr($setting, strlen($this->
getSetting()));
111 $firstSplitPos = strpos($setting,
'$');
113 if ($firstSplitPos !==
false && $firstSplitPos <= 2 && is_numeric(substr($setting, 0, $firstSplitPos))) {
114 $countLog2 = (int)substr($setting, 0, $firstSplitPos);
129 return isset(self::$hashCount) ? self::$hashCount : self::HASH_COUNT;
142 return isset(self::$maxHashCount) ? self::$maxHashCount : self::MAX_HASH_COUNT;
152 return CRYPT_BLOWFISH;
165 return isset(self::$minHashCount) ? self::$minHashCount : self::MIN_HASH_COUNT;
178 return self::$saltLengthBlowfish;
191 return self::$settingBlowfish;
208 if (strncmp($saltedPW,
'$2', 2) || !$this->
isValidSalt($saltedPW)) {
213 return !is_NULL($countLog2) && $countLog2 < $this->
getHashCount();
227 $isValid = ($skip =
false);
229 if (strlen($salt) >= $reqLenBase64) {
231 if (!strncmp(
'$', $salt, 1)) {
234 $salt = substr($salt, strrpos($salt,
'$') + 1);
240 if (!$skip && strlen($salt) >= $reqLenBase64) {
241 if (preg_match(
'/^[' . preg_quote($this->
getItoa64(),
'/') .
']{' . $reqLenBase64 .
',' . $reqLenBase64 .
'}$/', substr($salt, 0, $reqLenBase64))) {