/** * Registreer een nieuwe speler. * * @param naam String * @param voornaam String * @param gebruikersnaam String * @param wachtwoord String * @param wachtwoordBevestiging String */ public void registreer( String naam, String voornaam, String gebruikersnaam, String wachtwoord, String wachtwoordBevestiging) { if (!wachtwoord.equals(wachtwoordBevestiging)) { throw new WachtwoordException(lang.get("err.passwordrepeat")); } // controle DR Nieuwe Speler if (gebruikersnaam.length() < 8) { throw new GebruikersnaamException(lang.get("err.usernameDR")); } if (wachtwoord.length() < 8 || !wachtwoord.matches(".*[A-Z].*") || !wachtwoord.matches(".*[a-z].*") || !wachtwoord.matches(".*[0-9].*")) { throw new WachtwoordException(lang.get("err.passwordDR")); } wachtwoord = BCrypt.hashpw(wachtwoord, BCrypt.gensalt(10)); Speler nieuweSpeler = new Speler(naam, voornaam, gebruikersnaam, wachtwoord); setHuidigeSpeler(nieuweSpeler); huidigeSpeler.setLang(lang); spelerRepository.voegToe(nieuweSpeler); }
static boolean authenticate(String username, String password) { User user = User.find("byLoginName", username).first(); if (user == null) { return false; } if (user.getEncryption() == User.Encryption.MD5) { return DigestUtils.md5Hex(password).equals(user.getPassword()); } return BCrypt.checkpw(password, user.getPassword()); }