【发布时间】:2015-01-28 13:39:56
【问题描述】:
我有一个带有数据库连接的 Java Swing 程序。到目前为止,我的要求是硬编码连接细节,如下所示。
public void makeConnection()
{
try
{
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/dbName","root","");
//System.out.println("Connection Established");
}
catch(Exception e)
{
e.printStackTrace();
}
}
但是,客户的 IT 人员试图通过 VPN 连接到数据库,但系统拒绝连接,很可能是因为硬编码连接。
现在,我正在寻找以客户端可以编辑的方式存储连接数据的方法。这意味着,像大多数通用程序一样,客户端决定数据库密码、端口等。他可能需要它,因为涉及到 VPN。所以我打算为客户端创建一个小对话框来输入数据库密码、用户和服务器位置。保存这些数据后,程序将读取它们并相应地进行连接。
但问题是,我在哪里保存这些?我知道我可以将它们保存在文本文件中,但这是一种不安全的方法,任何人都可以阅读它。某种硬编码不是一种选择,因为客户应该能够编辑他的密码等。
有什么建议吗?
【问题讨论】:
-
嗯...您可以散列数据库凭据并将它们保存到属性文件。
-
java.util.prefs.preferences,正如他可能的 duplicate 所建议的那样。 -
@trashgod:我从未使用过它。那么,请多解释一下?
-
@trashgod:是不是就像一本打开的书,任何人都可以来、读、走?
-
我已经在下面详细说明了。
标签: java database swing jdbc io