【发布时间】:2013-10-04 00:44:54
【问题描述】:
好的,所以我创建了一个 java swing 应用程序,它使用 JDBC MySQL jar 文件连接到服务器上的数据库。没有真正的问题,一切都很好。然后我开始考虑有人可能会进入程序并查看源代码。除了我有数据库信息(url、用户名、密码等)之外,没有什么真正的大问题,而这只是让某人进入并获取数据库数据的一张敞开的票。
我的问题是关于这个的一般想法是什么?如果知道有人真的确定了可以进入并获取信息,如何在源代码中存储密码?
【问题讨论】:
-
好消息!已经有人问过如何安全地存储 Java 应用程序的密码,因此您无需等待答案!见How are secure database connections usually implemented in JAR files?
-
你可以加密你的凭据,它比纯文本更安全。你可以使用jasypt
-
你没有,你把它放在更安全的地方。
-
我不认为这是重复的,他是在询问数据源配置!
-
“如果他们真的下定决心”,那么您在客户端上所做的任何事情都不会帮助您。你可以以任何你想要的方式对其进行加密,但只要所有这些和解密逻辑都在客户端上,你就无法阻止一个坚定的、知识渊博的人。您应该假设这样的人会知道您的数据库密码。有人可以完全忽略您的代码并简单地窥探与数据库服务器的通信吗? OTOH,如果您只想停止使用“服务层”包装您的数据库并且不暴露任何低于此的内容。您可能不会使用存储过程。