/**
  * @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));
 }