¿Debe almacenarse la contraseña en una variable antes del cifrado?

0

Actualmente estoy escribiendo una aplicación con CodenameOne, y hay una pantalla de inicio de sesión, donde el usuario necesita insertar su cuenta y contraseña.

Ahora me preguntaba cuál sería la mejor manera de acceder al campo de contraseña.

En primer lugar, necesito que la contraseña se envíe al servidor para obtener un token de autenticación. El envío de las credenciales de inicio de sesión al inicio de la aplicación actualmente no está encriptado, pero no estoy seguro de que sea una buena idea en caso de seguridad, uno podría simplemente detectar la conexión y obtener el texto simple. Cambiar esto en el backend de la aplicación no es un problema, así que también podría enviar una contraseña cifrada para obtener el token de autenticación.

Pero esta no es mi pregunta.

Mi pregunta específica en este caso es:

Supongamos que tengo un campo de contraseña llamado passwordTextField y puedo acceder a él usando getText() .

¿Está bien cifrarlo de esta manera?

String passwd = passwordTextField.getText();
String encPasswd = sha512.encrypt(passwd);

que es más fácil de leer o sería mejor

String encPasswd = sha512.encrypt(passwordTextField.getText());

cuando se trata de seguridad? ¿Hay alguna diferencia?

    
pregunta Do Re 15.07.2016 - 08:48
fuente

1 respuesta

3

Es muy probable que los dos fragmentos de código se compilen exactamente con el mismo bytecode, por lo que no hay diferencia. Incluso si no fuera el caso, passwd contiene solo una referencia a la cadena que contiene la contraseña, no se crea una copia adicional del valor.

    
respondido por el Najkin 15.07.2016 - 09:05
fuente

Lea otras preguntas en las etiquetas