【问题标题】:Creating a configuration file in a Java application including security在 Java 应用程序中创建配置文件,包括安全性
【发布时间】:2013-05-26 11:19:39
【问题描述】:

我必须创建一个与数据库建立连接的 java 应用程序。
直到这一点,一切都很容易。但我需要包含一个配置选项,以允许最终用户输入他们自己的参数(服务器主机、用户、通行证、数据库、端口等)以连接到数据库。另一个简单的任务。现在每次用户启动应用程序时,我都需要阅读最终用户提供的这些预设,以其他方式记住用户的连接偏好。

我发现了一种使用 Java API 中的属性库的简单方法。但我有一个安全问题。用户的偏好暴露容易访问(主要是用户名和密码)。

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

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

【问题讨论】:

  • 您可以考虑使用简单的 XOR 加密算法(但用户需要为您的应用程序提供额外的密码/密钥)。您将采用的解决方案很大程度上取决于您需要提供的安全级别。 PGP 加密是一个相当不错的选择。但是,请记住,在许多情况下,此类文件甚至是未加密的(例如 Maven 中的私有设置文件);但在这种情况下,用户必须将这些文件保密并受到保护。
  • 我也考虑过密码/密钥选项,但给最终用户带来了复杂的任务。有人建议我尝试将用户的偏好写入 win reg,但我不知道如何执行此操作。
  • 如果不可能或不容易加密我想要的数据,至少尽可能隐藏该数据

标签: java security


【解决方案1】:

我对此表示怀疑。在 FileZilla Client 3.6.0.2 中,我很容易发现我的登录数据没有加密。如果可以将此参数加密保存,FileZilla 会这样做。

【讨论】:

  • 谢谢,我知道任何有经验的用户都可以轻松访问该信息。我只是想尝试更好地隐藏数据。
  • @UncleSam 加密不如不加密,因为用户会误以为自己的数据是安全的,从而导致更大的安全漏洞。
  • 在我的 Java 应用程序中加密和隐藏数据的任何解决方案?
猜你喜欢
  • 1970-01-01
  • 2019-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-26
相关资源
最近更新 更多