所以我正在构建一个用于连接MySQL数据库的GUI,我有一个用户可以输入的窗口:Host
,User
,Password
,Port
和一个Connection Name
。我想保存多个MySQL数据库连接的连接信息。
我希望Connection Name
是一个唯一的名称,当有人打开应用程序的主屏幕时,会有一个以前保存的连接列表。当用户点击其中一个Connection Names
时,它将连接到数据库。然后他们可以运行查询。
我想知道的是,保存这些连接的最佳方法是什么?
在我看来,保存在平面文件中听起来并不是一种安全的方法。
答案 0 :(得分:1)
您可以使用用户密码加密数据。不要忘记在密码更改时重新加密。这不是这种情况,但如果您有大量数据要加密/解密,您可以使用statuc密钥来获取数据,但是使用用户密码的密钥。
有许多安全存储桌面密码的解决方案,但我不知道是否有任何Java绑定。
答案 1 :(得分:1)
如果您的用户有登录名/密码,您可以使用他们的密码加密连接数据。
如果他们不这样做(他们应该!)那么你最好的选择取决于操作系统:OSX中的Keychain API或Windows中的DPAPI,我不知道Linux,但它可能有一个等效的API。
你是对的:将连接信息放在纯文本文件中是一个可怕的想法