gpt4 book ai didi

java - Android:将敏感字符串放入我的 Java 代码中是否安全?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:45:02 24 4
gpt4 key购买 nike

我的应用程序使用了一些我不允许用户看到的 API key 和 URL。我一直将它们直接放在代码中,有时嵌入到使用它们的方法中,有时嵌入到名为 MyVals 的类中,该类存储常用的字符串和数字。

例如:

public class MyVals {

private LGVals(){}

public static final String DB_URL = "https://mydb.dbprovider.org/";
public static final String DB_Key = "klJF*(oh8iyhkkde";
public static final String TableKey_UserList = "o9w6owifhayf98fnwihj";

}

这样安全吗?如果我使用 Proguard 创建我的 APK 会有什么不同吗?这方面的最佳做法是什么?

最佳答案

将敏感字符串嵌入代码中绝对安全。 Proguard 混淆了类名和方法名,但任何定义的字符串都保持完全不变。这是我通过 Proguard 运行的应用程序的示例。您可以看到方法和类名被混淆了,但字符串(因为它们必须如此)没有改变。

原代码如下:

public void shutdown() {
if (logger.logDebug()) {
logger.logDebug(LOGTAG, "Queuing shutdown message ...");
}

queueMessage(new BaseMessage(true));
}

以及混淆后的代码,很容易通过JD-GUI获得:

  public void c()
{
if (c.logDebug())
c.logDebug("MsgRouter", "Queuing shutdown message ...");
a(new a(true));
}

如果您在应用的字符串中嵌入敏感数据,它可以并且将会被反编译

关于java - Android:将敏感字符串放入我的 Java 代码中是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24805682/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com