Java - Como guardar contraseña cifrada

 
Vista:

Como guardar contraseña cifrada

Publicado por Liliana Flores (3 intervenciones) el 16/08/2017 01:45:44
Hola estoy tratando de guardar mi contraseña despues de ser cifrada; tengo el codigo con los metodos de cifrado pero no se como invocarlos desde la entidad usuario.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Como guardar contraseña cifrada

Publicado por motard (10 intervenciones) el 16/08/2017 11:03:43
Hola,

Si no pones parte del codigo es dificl ayudarte, por lo que pones de momento solo se me ocurre que no estas haciendo bien los imports de las clases a las que quieres acceder o no has definido bien la visibilidad de los metodos (protected, priate, public, etc..)

Salu2,
Motard
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Como guardar contraseña cifrada

Publicado por Liliana Flores (3 intervenciones) el 16/08/2017 21:45:15
Si perdon me olvide, en realidad es el codigo que

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
private void persist(PersistAction persistAction, String successMessage) {
	if (selected != null) {
		setEmbeddableKeys();
		try {
			if (persistAction != PersistAction.DELETE) {
 
				String clave= selected.getPassword();
 
				if(clave!=null){
					ejbFacade.cifrar(clave);
					getFacade().edit(selected);
				} else {
				ejbFacade.Seguridad(clave);
				getFacade().remove(selected);
				}
			}
			else{
				getFacade().remove(selected);
			}
			JsfUtil.addSuccessMessage(successMessage);
		} catch (EJBException ex) {
			String msg = "";
			Throwable cause = ex.getCause();
			if (cause != null) {
				msg = cause.getLocalizedMessage();
			}
			if (msg.length() > 0) {
				JsfUtil.addErrorMessage(msg);
			} else {
				JsfUtil.addErrorMessage(ex, ResourceBundle.getBundle("/Bundle").getString("PersistenceErrorOccured"));
			}
		} catch (Exception ex) {
			Logger.getLogger(this.getClass().getName()).log(Level.SEVERE, null, ex);
			JsfUtil.addErrorMessage(ex, ResourceBundle.getBundle("/Bundle").getString("PersistenceErrorOccured"));
		}
	}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Como guardar contraseña cifrada

Publicado por motard (10 intervenciones) el 17/08/2017 12:48:03
Sigo sin poder darte una solucion, pegas parcialmente el codigo aqui pero no puedo saber donde te esta fallando, supongo que es en la instruccion de la linea 10: "ejbFacade.cifrar(clave);" pero en ningun sitio inicializas las variables ni nada, falta codigo para poder decirte que esta fallando. Peganos el error que te devuelve la excepcion.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Como guardar contraseña cifrada

Publicado por Liliana Flores (3 intervenciones) el 17/08/2017 19:04:28
Si este es el codigo que estoy utilizando

1
2
3
4
5
6
7
8
9
10
11
12
13
14
if (persistAction != PersistAction.DELETE) {
	String clave= null;
	clave= selected.getPassword();
	getFacade().cifrado(clave);
 
	if(clave!=null){
		getFacade().edit(selected);
	} else {
		getFacade().remove(selected);
	}
}
else{
	getFacade().remove(selected);
}
Donde cifrado es el metodo en la clase seguridad que hace la parte de codificacion:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public synchronized String cifrar(String plaintext) throws SystemUnavailableException {
	MessageDigest md = null;
	try {
		md = MessageDigest.getInstance("SHA-256"); //step 2 
	} catch (NoSuchAlgorithmException e) {
		throw new SystemUnavailableException(e.getMessage());
	}
	try{
		md.update(plaintext.getBytes("UTF-8")); //step 3 
	} catch (UnsupportedEncodingException e)
	{ throw new SystemUnavailableException(e.getMessage());
	}
	byte raw[] = md.digest(); //step 4         
	String hash;//step 5         
	hash = (new BASE64Encoder()).encode(raw);
	return hash; //step 6 
}
No se me hace falta algo mas porque esto es todo lo que tengo y segun como me explicaron debia hacerlo bajo el metodo de persistencia esta validacion del registro del usuario para que se guarde codificada esta contraseña.

No se que mas hacer porque son las indicaciones que recibi.

Muchas gracias por su ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar