/** * @param ilObjUser $user * @param string $raw The raw password */ public function encodePassword(ilObjUser $user, $raw) { $encoder = $this->getEncoderFactory()->getEncoderByName($this->getEncoderName()); $user->setPasswordEncodingType($encoder->getName()); if ($encoder->requiresSalt()) { require_once 'Services/Password/classes/class.ilPasswordUtils.php'; $user->setPasswordSalt(substr(str_replace('+', '.', base64_encode(ilPasswordUtils::getBytes(self::MIN_SALT_SIZE))), 0, 22)); } else { $user->setPasswordSalt(null); } $user->setPasswd($encoder->encodePassword($raw, $user->getPasswordSalt()), IL_PASSWD_CRYPTED); }
/** * */ private function generateClientSalt() { require_once 'Services/Password/classes/class.ilPasswordUtils.php'; $this->setClientSalt(substr(str_replace('+', '.', base64_encode(ilPasswordUtils::getBytes(self::MIN_SALT_SIZE))), 0, 22)); }