Saludos amigos en esta oportunidad enfocamos la seguridad a java, para todo lo que se refiere a la encripcion de contraseñas en java a continuacion dejo una funcion que encripta en md5:
//funcion para encriptar md5
public static String md5(String clear) throws Exception {
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] b = md.digest(clear.getBytes());
int size = b.length;
StringBuffer h = new StringBuffer(size);
//algoritmo y arreglo md5
for (int i = 0; i < size; i++) {
int u = b[i] & 255;
if (u < 16) {
h.append("0" + Integer.toHexString(u));
}
else {
h.append(Integer.toHexString(u));
}
}
//clave encriptada
return h.toString();
}
public static String md5(String clear) throws Exception {
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] b = md.digest(clear.getBytes());
int size = b.length;
StringBuffer h = new StringBuffer(size);
//algoritmo y arreglo md5
for (int i = 0; i < size; i++) {
int u = b[i] & 255;
if (u < 16) {
h.append("0" + Integer.toHexString(u));
}
else {
h.append(Integer.toHexString(u));
}
}
//clave encriptada
return h.toString();
}
La forma de llamar esta funcion es la siguiente:
//para llamar la funcion md5
try {
System.out.println(md5(jtfPalabra.getText()));
}catch (Exception ex){}
Deja tu comentario o agradecimiento...
Hola gracias por compartir el algoritmo.
ResponderEliminarcual seria la forma o el metodo para desencriptar..???
Saludos...
millones y millones de graciaaas! :D había tenido muchos problemas con este método... para compararlo con una BD y que pudiera ingresar al sistema y gracias a ti lo logre :D
ResponderEliminarGracias por el método! me has salvado de una bien grande.
ResponderEliminarSaludos :) !
Al Colocar ññññññññññññññ o palabras largas con ñ, se cuelga el programa...
ResponderEliminarAcabo de hacer la pruebas con el codigo y en la aplicacion donde utilizo no se cuelga como tu mencionas, lo que puede estar ocurriendo es algún error en la forma en la que lo llamas o si lo utilizas embebido en alguna web (Applet) verifica eso.... Saludos
ResponderEliminarcomo se hace para desencriptar?
ResponderEliminarMD5, es un tipo de encriptación de una sola via, lo cual significa que no se puede revertir ahora esto no quiere decir que no existan metodos que lo hagan pero lo que se hace es guardar el hash, y luego convertir el input del usuario con el algoritmo y comparar el resultante con lo que tienes guardado.
ResponderEliminaryo nunca lo he intentado esto seria mas un tema de hacking puedes utilizar otro tipo de encriptación que si lo permita.
como puedo usar el md5 en jsp
ResponderEliminarSe que ya tiene mucho tiempo pero quiero agradecer ya que me funciono para Android todo perfecto. Muchas gracias y disculpas por revivir post tan viejos
ResponderEliminarFelicidades Gran Aporte. Saludos desde El Salvador.
ResponderEliminarhola
ResponderEliminarMuchas gracias
ResponderEliminarno me funciona :( la ultimas lineas donde se llama a ala funcion es en otra clase????
ResponderEliminar