2

我需要在源代码中隐藏密码,有哪些可能的方法来混淆密码以降低反编译的风险?

例如

final String password = "secret";
4

4 回答 4

17

不要打扰。

无论如何,您的普通用户将无法或愿意反编译类文件,并且当目标是单个数据时,有动力且熟练的攻击者不会因混淆而受到阻碍。所需要的只是一个这样积极且熟练的攻击者,全世界都知道密码。

如果您的安全取决于混淆密码,那么您已经输了。

于 2012-08-30T09:42:58.693 回答
3

首先,我不会命名我的变量password

其次,我不会将其保留为原始格式,而是对其进行编码。

第三,我会使用 achar[]而不是String(因为字符串驻留在字符串池中)。

当然,最好的选择是根本不将其保留在代码中。

于 2012-08-30T09:40:42.340 回答
0

使用外部方法加密密码,该方法可用于在您的代码中解密并将密码(加密)存储在您的代码中

于 2012-08-30T09:49:43.120 回答
0

使用数据库或文件来保存您的密码。这是带有示例的非常好的帖子。但是您仍然需要在某处存储一个主密码来加密您的密码。很难保护它不被发现和滥用来解密您的密码:(。

于 2012-08-30T09:56:09.167 回答