是的,JAR只是ZIP文件,因此完全可以使用WinZip打开其中一个文件并查看其内容。如果您知道自己在做什么,则可以在其中找到纯文本密码。
听起来您的JAR包含直接连接到数据库的客户端。您没有说这是通过Internet还是VPN或LAN完成的。数据库是从客户端远程部署的吗?
这是客户端/服务器应用程序消失的原因之一:很难通过Internet保护它们。
您的应用对我来说听起来像是经典的客户端服务器。我有那个权利吗?
通常在客户端和数据库之间引入中间层,以检查安全性,验证和绑定输入,并将请求传送到适当的处理程序以实现。让用户提供您的中间层必须验证的凭据,然后再将其传递给数据库。
它还可以为您提供对抗SQL注入攻击的机会。
如果对JAR内容进行加密,则必须编写一个自定义类加载器,以在加载时对其解密。不是为了胆小的人。
如果您的客户端是Swing应用程序,并且所有逻辑和数据库内容都内置在侦听器和事件处理程序中,并且为每个组件注册,那么您将需要进行认真的重写。您将转向更多的面向服务的体系结构,其中所有工作都由服务器端的服务完成。客户端仅执行经典MVC中应做的事情:将事件传递到服务器端并显示结果。您的客户会轻松很多。
这将对您的开发团队和业务造成最大的冲击。



