2013-05-26 29 views
0

我必须创建一个与数据库连接的Java应用程序。
一切都很容易,直到这一点。但我需要包含配置选项与允许最终用户输入自己的参数(服务器主机,用户,密码,数据库,端口等)以便连接到数据库的入口。另一个简单的任务现在,每当用户启动应用程序时,我都需要阅读由最终用户提供的这些预设,否则请记住用户的连接首选项。在包含安全性的Java应用程序中创建配置文件

我发现了一个简单的方法来使用Java API中的属性库来完成此操作。但我有一个安全问题。用户的偏好很容易被访问(主要是用户名和密码)。

有没有办法保存这个参数加密?

我需要一个很好,最简单的解决方案来解决这个安全问题。

+0

您可以考虑使用一个简单的XOR加密算法(但用户需要为您的应用程序的其他密码/键)。您将采用的解决方案在很大程度上取决于您需要提供的安全级别。 PGP加密是一个很好的选择。但是,请记住,在许多情况下,这些文件甚至是未加密的(例如,Maven中的私人设置 - 文件)。但在这种情况下,用户必须保持这些文件的私密性和保护性。 –

+0

我也考虑了密码/密钥选项,但会导致最终用户的任务变得复杂。有人建议我试图将用户的偏好写入win reg,但我不知道如何做到这一点。 –

+0

如果不可能或不方便加密数据,我希望至少隐藏该数据尽可能最好 –

回答

0

我对此表示怀疑。在FileZilla Client 3.6.0.2中,我发现我的登录数据没有加密。如果可以保存加密的这些参数,FileZilla会做到这一点。

my login data is exposed to be access

+0

谢谢,我知道任何有经验的用户都可以轻松访问这些信息。我只想尝试更好地隐藏数据。 –

+0

@UncleSam坏加密比没有加密更糟糕,因为用户会错误地认为他们的数据是安全的,因此会导致更大的安全漏洞。 – johnchen902

+0

任何解决方案来加密和隐藏我的Java应用程序中的数据? –

相关问题