Foros del Web » Programación para mayores de 30 ;) » Java »

Encriptar y desencriptar MD5

Estas en el tema de Encriptar y desencriptar MD5 en el foro de Java en Foros del Web. Tengo esto en el ActionPerformed de un boton el cual hace el encriptamiento Cita: try { String salida = encriptar(txtClave.getText()); txtSalida.setText(salida); } catch (NoSuchAlgorithmException ex) ...
  #1 (permalink)  
Antiguo 02/02/2013, 09:19
 
Fecha de Ingreso: noviembre-2012
Ubicación: Cali - Colombia
Mensajes: 46
Antigüedad: 11 años, 5 meses
Puntos: 0
Pregunta Encriptar y desencriptar MD5

Tengo esto en el ActionPerformed de un boton el cual hace el encriptamiento

Cita:
try {
String salida = encriptar(txtClave.getText());
txtSalida.setText(salida);
} catch (NoSuchAlgorithmException ex) {
JOptionPane.showMessageDialog(this, "NO SE PUDO ENCRIPTAR");
}


Este es el metodo Encriptar que se guarda en el String salida

Cita:
public String encriptar(String clave) throws NoSuchAlgorithmException{

String md5Clave = MD5(MD5(MD5(clave)));
return md5Clave;

}

y este es en si el código del encriptamiento


Cita:
public String MD5(String clave) throws NoSuchAlgorithmException {
try {

MessageDigest md = MessageDigest.getInstance("MD5");
md.update(clave.getBytes("UTF-8"), 0, clave.length());
byte[] bt = md.digest();
BigInteger bi = new BigInteger(1, bt);
String md5 = bi.toString(16);
return md5;
} catch (UnsupportedEncodingException ex) {
Logger.getLogger(passwd.class.getName()).log(Level .SEVERE, null, ex);
}
return null;

}

HE oído por muchas partes que es posible en java desencriptarlo. Pero no he encontrado un ejemplo de como.

Alguien que tenga idea como desencriptar por favor se lo agradecería.

la verdad es que lo necesito, porque los privilegios de un administrador permiten consultar los datos de usuarios registrados, entonces al traer la contraseña de la base de datos para la consulta, me traerá esa cadena encriptada, entonces no podrá saber con que contraseña se registro ese usuario. La idea era que en caso tal de alguno de los usuario perdiera su contraseña, el administrador pudiera consultarla y darsela.
  #2 (permalink)  
Antiguo 02/02/2013, 13:05
Avatar de jomaruro
Colaborador
 
Fecha de Ingreso: junio-2002
Ubicación: Naboo
Mensajes: 5.442
Antigüedad: 21 años, 10 meses
Puntos: 361
Respuesta: Encriptar y desencriptar MD5

Hola:

Hasta donde yo sé una contraseña encriptada no se puede desencriptar. No veo lógico que alguien vea la contraseña de otro, ni el administrador. En caso de que un usuario pierda su contraseña el sistema debería generar una nueva y enviársela por correo, por ejemplo. Y que después ese usuario pueda entrar con la nueva, mantenerla o cambiarla por la que desee.

Saludos.

  #3 (permalink)  
Antiguo 02/02/2013, 13:47
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Encriptar y desencriptar MD5

Hola:

MD5 no se puede desencriptar no porque sea muy difícil, sino porque no contiene el texto de ninguna forma. Imagina por ejemplo un algoritmo que lo único que hace es quedarse con la última letra de la frase, por ejemplo, de "hola mundo" se quedaría la "o" y con "adios tú" se quedaría la "ú". ¿Podrías desencritpar la "o" o la "ú" para obtener el texto original?.

MD5 es eso mismo pero mucho más complejo, no vale para guardar la información encriptada, sino que es una especie de "checksum" complejo. Su uso es básicamente para coger un original (una clave de usuario cuando se da de alta por ejemplo) y guardarse el encriptado MD5. Más adelante, si alguien envía una copia del original (la clave cuando el usuario entra en sesión más adelante), se puede verificar si el MD5 de esta copia (clave) coincide con la del original que teníamos guardada. No sólo se usa para claves, a veces también para verificar que un documento o email no ha sido alterado, o que un fichero se ha descargado correctamente sin errores (busca por ejemplo download md5 checker o incluso te habrás encontrado alguna vez ficheros a descargar que tienen al lado del enlace el MD5 o SHA1)

Se bueno.
__________________
Apuntes Java
Wiki de Programación

Última edición por chuidiang; 02/02/2013 a las 13:53
  #4 (permalink)  
Antiguo 03/02/2013, 12:38
 
Fecha de Ingreso: noviembre-2012
Ubicación: Cali - Colombia
Mensajes: 46
Antigüedad: 11 años, 5 meses
Puntos: 0
Información Respuesta: Encriptar y desencriptar MD5

Cita:
Iniciado por jomaruro Ver Mensaje
Hola:

Hasta donde yo sé una contraseña encriptada no se puede desencriptar. No veo lógico que alguien vea la contraseña de otro, ni el administrador. En caso de que un usuario pierda su contraseña el sistema debería generar una nueva y enviársela por correo, por ejemplo. Y que después ese usuario pueda entrar con la nueva, mantenerla o cambiarla por la que desee.

Saludos.

El dilema es que la aplicación no contará con servicio de Red por lo tanto no se podrá enviar informacion por email, lo otro es que los usuarios ( en este caso en particular) no tengran acceso a su información, es un software para un restaurante, y ellos solo necesitan gestionar pedidos, no necesitan tener que entrar a revisar sus propios datos, esta información solo será visible para el administrador. Ya que esa información de cada usuario es requerida para la empresa.
  #5 (permalink)  
Antiguo 03/02/2013, 12:39
 
Fecha de Ingreso: noviembre-2012
Ubicación: Cali - Colombia
Mensajes: 46
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Encriptar y desencriptar MD5

Cita:
Iniciado por chuidiang Ver Mensaje
Hola:

MD5 no se puede desencriptar no porque sea muy difícil, sino porque no contiene el texto de ninguna forma. Imagina por ejemplo un algoritmo que lo único que hace es quedarse con la última letra de la frase, por ejemplo, de "hola mundo" se quedaría la "o" y con "adios tú" se quedaría la "ú". ¿Podrías desencritpar la "o" o la "ú" para obtener el texto original?.

MD5 es eso mismo pero mucho más complejo, no vale para guardar la información encriptada, sino que es una especie de "checksum" complejo. Su uso es básicamente para coger un original (una clave de usuario cuando se da de alta por ejemplo) y guardarse el encriptado MD5. Más adelante, si alguien envía una copia del original (la clave cuando el usuario entra en sesión más adelante), se puede verificar si el MD5 de esta copia (clave) coincide con la del original que teníamos guardada. No sólo se usa para claves, a veces también para verificar que un documento o email no ha sido alterado, o que un fichero se ha descargado correctamente sin errores (busca por ejemplo download md5 checker o incluso te habrás encontrado alguna vez ficheros a descargar que tienen al lado del enlace el MD5 o SHA1)

Se bueno.
Muchas Gracias por la Info

Etiquetas: desencriptar, encriptar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:27.