如何在本地存储用户敏感信息?

时间:2014-06-30 22:21:22

标签: java encryption passwords user-data sensitive-data

我正在开发一个应用程序,要求用户输入他的帐户名和密码,以便登录在线论坛,等等。

请注意我不实际通过我的应用程序通过Internet传输任何数据,我只连接到特定服务器。我正在使用HtmlUnit获取论坛的链接,获取正确的登录表单,填写数据并提交。网上的实际数据中继由第三方公司管理。

现在解决实际问题:

有些用户希望能够保存他们的凭据,这样他们就无需在启动应用程序时重新键入凭据。

我正在将其凭据保存到.txt文件中,该文件的内容我使用Password Based Encryption with MD5 and DES algorithmstatic passwordstatic salt加密。我主要是加密这些文件,所以如果他们不小心将这个文件发送给某人,他们将无法轻易地获取这些信息,并希望避免麻烦。

据我所知,由于我是密码学的全部菜鸟,使用硬编码盐和硬编码密码并不是一种非常安全的技术,但是当我在本地保存数据时它可能就足够了。 我在这儿吗?

.txt文件也是存储此类数据的安全方式吗?如果没有你建议的那个?

2 个答案:

答案 0 :(得分:1)

我看到它的方式,你的解决方案已经足够好了。强烈加密或不加密,这些信息存放在用户计算机中,并且只有在他的系统受到损害时才能被盗,在这种情况下,有许多其他方式获取此密码与您存储的安全性无关,即使你根本不存储它。

我添加的唯一安全层是确保无法使用您的软件将此凭据文件简单地复制到另一台计算机并从那里使用。为了防止您在盐中包含系统规范,例如分区序列号等。

答案 1 :(得分:1)

如果您担心用户可能会意外地将文件发送给其他人,那么使用更强大的算法(如AES 256)可能会更好的加密。