在Java源代码中隐藏密码

时间:2012-08-30 09:38:34

标签: java security proguard

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

e.g。

final String password = "secret";

4 个答案:

答案 0 :(得分:13)

不要打扰。

无论如何,您的普通用户将无法或不愿意反编译类文件,并且当目标是单个数据时,一个有动力和技能的攻击者不会被模糊处理阻止。所需要的只是一个如此积极主动和熟练的攻击者,全世界都知道密码。

如果您的安全性取决于模糊密码,那么您已经输了。

答案 1 :(得分:4)

首先,我不会将变量命名为password

其次,我不会保留原始格式,但要对其进行编码。

第三,我使用char[]代替String(因为字符串驻留在字符串池中)。

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

使用数据库或文件保存您的密码。这是非常好的post示例。 但是你仍然需要存储一个主密码来加密你的密码。 Tt很难保护它不被发现和误用来解密你的密码:(。