在Android中存储API密钥,是否足够晦涩?

fre*_*ley 9 obfuscation android key api-key dropbox-api

我正在使用Dropbox API.在示例应用程序中,它包括以下行:

// Replace this with your consumer key and secret assigned by Dropbox.
// Note that this is a really insecure way to do this, and you shouldn't
// ship code which contains your key & secret in such an obvious way.
// Obfuscation is good.
final static private String CONSUMER_KEY = "PUT_YOUR_CONSUMER_KEY_HERE";
final static private String CONSUMER_SECRET = "PUT_YOUR_CONSUMER_SECRET_HERE";
Run Code Online (Sandbox Code Playgroud)

我很清楚口头'秘密不是安全',混淆真的只会略微增加提取密钥所需的工作量.我不同意他们的声明'Obfustication is good'.那我该怎么做才能保护钥匙呢?obutustication 足够好,还是应该考虑更精细的东西?

Sev*_*yev 5

你无能为力.如果用户(攻击者)具有受保护的数据和执行非保护的代码,则用户最终可以访问该数据.就这么简单.他们需要的只是恰当时间的调试器和断点.那,以及大量的空闲时间和决心.

保密是否足以满足您的目的取决于您的业务细节.但通常在移动世界中,如果客户担心他们的数据被盗,他们会实施高级别的盗窃和丢失控制.像远程擦除,强制屏幕锁等等.我不认为应用程序员可以复制所有这些东西.