90 $saltWithSettings = $salt;
93 if (strlen($salt) == $reqLenBase64) {
96 return $saltWithSettings;
107 $setting = substr($setting, strlen($this->
getSetting()));
108 $firstSplitPos = strpos($setting,
'$');
110 if ($firstSplitPos !== FALSE && $firstSplitPos <= 2 && is_numeric(substr($setting, 0, $firstSplitPos))) {
111 $countLog2 = (int)substr($setting, 0, $firstSplitPos);
125 return isset(self::$hashCount) ? self::$hashCount : self::HASH_COUNT;
137 return isset(self::$maxHashCount) ? self::$maxHashCount : self::MAX_HASH_COUNT;
146 return CRYPT_BLOWFISH;
158 return isset(self::$minHashCount) ? self::$minHashCount : self::MIN_HASH_COUNT;
170 return self::$saltLengthBlowfish;
182 return self::$settingBlowfish;
198 if (strncmp($saltedPW,
'$2', 2) || !$this->
isValidSalt($saltedPW)) {
203 return !is_NULL($countLog2) && $countLog2 < $this->
getHashCount();
216 $isValid = ($skip = FALSE);
218 if (strlen($salt) >= $reqLenBase64) {
220 if (!strncmp(
'$', $salt, 1)) {
223 $salt = substr($salt, strrpos($salt,
'$') + 1);
229 if (!$skip && strlen($salt) >= $reqLenBase64) {
230 if (preg_match(
'/^[' . preg_quote($this->
getItoa64(),
'/') .
']{' . $reqLenBase64 .
',' . $reqLenBase64 .
'}$/', substr($salt, 0, $reqLenBase64))) {
246 $isValid = !strncmp($this->
getSetting(), $saltedPW, strlen($this->
getSetting())) ? TRUE : FALSE;
static $saltLengthBlowfish
setMinHashCount($minHashCount=NULL)
isHashUpdateNeeded($saltedPW)
setMaxHashCount($maxHashCount=NULL)
getLengthBase64FromBytes($byteLength)
setHashCount($hashCount=NULL)
isValidSaltedPW($saltedPW)
applySettingsToSalt($salt)