forked from marg-o/brigate
62 lines
1.6 KiB
Java
62 lines
1.6 KiB
Java
|
|
||
|
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();
|
||
|
}
|
||
|
|
||
|
}
|