2010-03-21 96 views
1

我使用Java开发应用程序。 我需要在某种文件中存储一些初始配置数据。Java - 存储敏感数据

我希望我的应用能够读取这些数据,但我不希望用户这样做。

示例:应用程序从加密文件加载IP。用户看起来像“dsda @#21da @”,所以他不会为任何事情做任何事情:)

我应该怎么做这样的事情? Thanx!

+0

这不是很清楚:它是一个远程应用程序(网络状)还是客户端具有程序的二进制文件? – Kartoch

+0

它是一个GUI应用程序运行内部网/互联网数据库 – Mike

回答

1

我们在谈论标准用户还是IT精明的用户?

对于标准用户,我建议存储字符串base64编码。或者只是一个未定义的二进制格式。

否则...使用硬编码密钥加密?

+0

以及密码数据库用户将在那里 - 所以“非常”热的数据。你怎么看? – Mike

+0

我想不出以真正安全的方式存储这些信息的方法。 什么是包装所有需要服务/数据库与另一层服务,控制访问到底层? 我不会部署一个应用程序,其中包含密码等敏感信息或直接访问敏感系统。 – lajuette

+0

恐怕是这样的事情太小了,但由于 – Mike

0

如果(如您所说)管理用户密码,则根本不应存储它们。清除文本,静态键,自定义键无关紧要 - 有权访问数据存储和程序的人员将始终能够检索它们。你所做的是使用salt和一个好的散列函数,并存储/仅比较散列值。

+1

很好的事情是: 1.您连接到应用程序,应用程序的用户 - 输入用户名和密码(也有很多应用程序的用户) 2.应用用户以数据库用户的身份自动连接到数据库 - 并且此密码需要存储 – Mike

0

可能OT,但自从你提到它是配置数据;我知道我会因为应用程序而对我显示乱码。要么允许用户查看数据并修改它们,否则不要让配置可见。

作为一个经验法则,如果它是敏感数据...不要将它存储在您的应用程序中。