Estoy desarrollando una aplicación que lee algunos datos de un db. La conexión a la base de datos se realiza a través del mecanismo de inicio de sesión/contraseña estándar.Java - ¿Cómo almacenar la contraseña utilizada en la aplicación?
El problema es: ¿cómo almacenar la contraseña de db? Si lo guardo como miembro de la clase, puede recuperarse fácilmente mediante una operación de descompilación.
Creo que la ofuscación no resuelve el problema, ya que una contraseña de cadena se puede encontrar fácilmente también en código ofuscado.
¿Alguien tiene alguna sugerencia?
Es su base de datos o la del cliente. Si es la base de datos del cliente, debe saber su contraseña. Si es su base de datos, ¿dónde está ubicada? ¿Por qué una aplicación de cliente accederá directamente a la base de datos, sin pasar por algún servidor donde se almacena la contraseña, y donde el bytecode no está disponible para los clientes? –
Normalmente lo guardo codificado en mi aplicación como una cadena encriptada con Rot13. (bromas). –
Si está utilizando Java EE, existen algunos mecanismos estándar para manejar esto ... pero supongo que no. No creo que ayude a la seguridad a ocultar la contraseña si su aplicación da acceso completo a la base de datos. – toto2