我正在创建一个需要访问MySQL数据库的应用程序。但我知道人们能够反编译Java代码。我想知道是否有一种非常安全的方式让我连接到我的数据库而不被反编译器访问?
答案 0 :(得分:4)
简而言之:不。如果您分发连接到MySQL服务器的应用程序,则用户始终可以反编译和/或调试客户端应用程序以提取应用程序用于连接的凭据。
MySQL主要供受信任的服务器端应用程序使用。如果您无法完全信任您的客户端应用程序(以及有权访问它的用户!),请不要让应用程序连接到您的MySQL服务器。相反,请考虑构建基于HTTP的API(即Web应用程序),以允许客户端软件对数据库执行适当的操作。
答案 1 :(得分:0)
在JavaEE应用程序中,您可以将数据源存储在应用程序中,并在应用程序服务器中配置连接。
您的应用程序是否是您的用户可以访问但可以访问Internet的独立Java应用程序?在这种情况下,您可以考虑将数据层隔离到存储在其他地方并可通过Web服务访问的另一个应用程序。