我有一个带有数据库连接的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
存储连接详细信息,按照建议here ,或 javax.jnlp.PersistenceService
,按照建议here 。尽管平台通常会保护此类数据免遭随意窥探,但您可以使用 here 所示的方法之一来存储加盐哈希。 .
关于java - 我应该在哪里保存 JDBC 连接详细信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27213331/