【发布时间】:2012-01-01 23:10:13
【问题描述】:
我正在开发一个从数据库读取一些数据的应用程序。 与数据库的连接是通过标准的登录/密码机制执行的。
问题是:如何存储db密码? 如果我将其存储为类成员,则可以通过反编译操作轻松检索。
我认为混淆并不能解决问题,因为在混淆代码中也可以很容易地找到字符串密码。
有人有建议吗?
【问题讨论】:
-
是你的数据库,还是客户的数据库。如果是客户的数据库,他应该知道它的密码。如果是你的数据库,它在哪里?为什么客户应用程序会直接访问数据库,而不通过存储密码的服务器,以及客户端无法使用字节码的服务器?
-
我通常将它硬编码为使用 Rot13 加密的字符串存储在我的应用程序中。 (开玩笑)。
-
如果您使用的是 Java EE,有一些标准机制可以处理这个问题……但我猜您不是。如果您的应用程序提供对数据库的完全访问权限,我认为隐藏密码对安全性没有帮助。