Vistas de página en total

martes, 9 de diciembre de 2014

Encriptacion de datos

En las aplicaciones es habitual que haya todo tipo de sistemas en las que se genere u obtenga información personal del cliente o empleados, un ejemplo en un login se necesita del usuario y del password del usuario entonces se en-cripta el password en este caso para que se proteja la informacion para ello se realizara mediante una clase de java que se encarga de eso que es "SHA-512"

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