1

所以我正在构建一个用于连接 MySQL 数据库的 GUI,并且我有一个用户可以输入的窗口:HostUserPassword和. 我想保存多个 MySQL 数据库连接的连接信息。PortConnection Name

我想Connection Name成为一个唯一的名字,当有人打开应用程序的主屏幕时,会有一个以前保存的连接列表。当用户单击其中一个时,Connection Names它将连接到数据库。然后他们可以运行查询。

我想知道的是,保存这些连接的最佳方法是什么?

在我看来,保存在平面文件中听起来并不安全。

4

2 回答 2

1

如果您的用户有登录名/密码,您可以使用他们的密码来加密连接数据。

如果他们不(他们应该!)那么您最好的选择取决于操作系统:OSX 中的 Keychain API 或 Windows 中的 DPAPI,我不了解 Linux,但它可能具有等效的 API。

你是对的:将连接信息放在纯文本文件中是一个可怕的想法

于 2013-03-28T17:28:59.393 回答
1

您可以使用用户密码对数据进行加密。不要忘记在密码更改时重新加密。这不是这里的情况,但如果您有大量数据要加密/解密,您可以拥有数据的状态密钥,但使用用户密码加密密钥。

有很多解决方案可以安全地存储桌面密码,但我不知道它们是否有 java 绑定。

于 2013-03-28T17:26:08.247 回答