brigate/src/service/UtenteService.java

62 lines
1.6 KiB
Java
Raw Normal View History

2020-04-27 22:08:07 +02:00
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();
}
}