package service; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import bean.Utente; import dao.UtenteDao; public class UtenteService { public static final String SALT = "lol-123"; public static void main(String[] args) { } private static UtenteDao ud = new UtenteDao(); public static boolean registrazione(String nickname, String password) { String saltedPassword = SALT + password; String hashedPassword = generateHash(saltedPassword); return ud.registrazione(nickname, hashedPassword, "utente"); } public static boolean registrazione(String nickname, String password, String ruolo) { String saltedPassword = SALT + password; String hashedPassword = generateHash(saltedPassword); return ud.registrazione(nickname, hashedPassword, ruolo); } public static Utente login(String nickname, String password) { String saltedPassword = SALT + password; String hashedPassword = generateHash(saltedPassword); System.out.println("Inserita " + hashedPassword); return ud.login(nickname, hashedPassword); } public static String generateHash(String input) { StringBuilder hash = new StringBuilder(); try { MessageDigest sha = MessageDigest.getInstance("SHA-1"); byte[] hashedBytes = sha.digest(input.getBytes()); char[] digits = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; for (int idx = 0; idx < hashedBytes.length; ++idx) { byte b = hashedBytes[idx]; hash.append(digits[(b & 0xf0) >> 4]); hash.append(digits[b & 0x0f]); } } catch (NoSuchAlgorithmException e) { // handle error here. } return hash.toString(); } }