关于java:在开源代码中隐藏字符串?

Hide string in open-source code?

本问题已经有最佳答案,请猛点这里访问。

我已经在Java项目上工作了一段时间,在我公开下载之前,我想添加一个要求我连接到MySQL数据库的特性。我的问题很简单:如果代码是开源的,我该如何隐藏数据库的密码呢?


将数据库连接设置与代码分开存储。


据我所知,没有正确的答案。你可以很努力地混淆或隐藏它,但是如果密码或计算密码的方法在你的jar中,一个持久且熟练的用户会找到它。

这里有一个比我能给出的更好的答案:如何保护MySQL用户名和密码不被反编译?


您可以将密码放在某种类型的configuration file文件中,比如ini文件。在安装/安装阶段,从用户那里获取密码并通过代码将其填充到配置文件中,或者允许他们手动执行。