Se crea la clase para la encriptacion:
public class Encrypting {
/*metodo que convertira una cadena en bytes*/
public static String encrypting(String pass){
/*clase que se encarga de la conversion al momento de recuperarlo y lo almacena en la variable sb*/
StringBuilder sb = new StringBuilder();
try{
/*clase que se encarga de obtener la instancia de SHA512 y se llamara md*/
MessageDigest md=MessageDigest.getInstance("SHA-512");
/*md se encarga de leer los bytes de la variable pass*/
md.update(pass.getBytes());
/*creamos un array de bytes donde se almacenara el pass convertido*/
byte[] mb=md.digest();
/*se inicializa un ciclo for que se encargara de ir recorriendo hasta terminar de encriptar el pass*/
for(int i = 0; i < mb.length; i++){
sb.append(Integer.toString((mb[i] & 0xff) + 0x100, 16).substring(1));
}
/*caturamos cualquier excepcion que llegue a suceder*/
}catch(NoSuchAlgorithmException ex){
}
/*retornamos la encriptacion de bytes y la convertimos en cadena*/
return sb.toString();
}
}
una vez creada modificamos nuestro managedBean que habiamos creado en el post anterior en el metodo registerUser y quedaría de la siguiente forma:
public String registerUser() throws Exception {
/*se agregar a la variable pass de la clase login el pass encriptado*/
login.setPass(Encrypting.encrypting(login.getPass()));
usersDAO daoUsers = new usersDAO();
daoUsers.registerUsers(this.user);
loginDAO daoLogin = new loginDAO();
daoLogin.registerLogin(login);
return "User/RegisterUser";
}
Despues de correr la aplicacion y registrar los datos veremos en el campo pass de nuestra base de datos se almacena una cadena enorme y esa es la cadena de bytes (ecriptacion).
No hay comentarios:
Publicar un comentario