Una duda con instaladores para aplicaciones de Java

Hola Amigos, tengo una duda con respecto a los instaladores de aplicaciones para java:

Lo primero necesitaria algun consejo para utilizar el mas adecuado.

Lo segundo es que dicha aplicacion al instalarse en el sistema operativo y una vez haber entrado en

dicha aplicacion tiene una opcion de conectarse a internet para los usuarios que se registren en dicha

aplicacion ,entonces la cosa es que claro en el paquete de la aplicacion,el programa en si, tiene una clase

de conexion para los usuarios, que deben ingresar su nombre y contraseña,las cuales estan en una base

de datos, esta base de datos , la cual contiene un nombre de usuario y contraseña estan escritas en

esa clase para la conexion,como hago para que no aparezca en la clase ese nombre de usuario y esa

contraseña?es que estaria totalmente vendida la base de datos. un saludo.

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

pfff

La mejor manera de proteger tu app es que tu aplicación de escritorio NO tenga acceso directo a la base de datos. Debes poner un API en medio con autenticación de los usuarios de la app y esa capa de en medio es la que utilizará tu aplicación.

Otra opción sería que a cada usuario de la app le asignaras un usuario en la base de datos. De esa forma cuando les pides usuario y password, son los que necesita el driver JDBC para conectarse, y entonces no hay cadenas ocultas en la app. Esto es factible si son pocos usuarios y todos están en la misma red que la base de datos, porque de otra forma tienes que exponerla a internet y es cuestión de tiempo antes que alguien se te cuele y ni siquiera necesitan tener la aplicación de escritorio porque cualquiera puede atacar el DBMS directamente.

De otra forma, lo que propones es el mismo problema que ha querido solucionar la industria de la música desde hace muchos años y que ya no pudo y se rindió: cómo poner datos en la computadora del cliente, para que los pueda usar pero que nunca los pueda ver de manera directa. Es imposible. Si los datos están en tu compu y un software los puede leer, entonces hay una manera en que tú los puedas leer. No es fácil, pero no importa; solamente se necesita que UNA persona encuentre la manera y la publique en internet para que los demás puedan hacer lo mismo. Es lo que pasó con la protección de las canciones en iTunes; comprabas una rola y venía cifrada pero la llave estaba en tu disco duro y el software de iTunes la usaba para descifrar la rola y reproducirla. Alguien se puso a buscar hasta que dio con la llave y la publicó. Apple cambió la llave y la puso en otro lugar en la siguiente versión de iTunes. La encontraron y fue lo mismo. Después de 3 o 4 veces de lo mismo, Apple decidió quitar la protección, porque no sirve de nada.

Imagen de Payan

Utilizare un API

Utilizare un API en medio con autenticación de los usuarios de la app haber que tal me va jeje muxas gracias por toda la informacion..un saludooo!!