在Android上保护Twitter密钥

y

在将Twitter身份验证添加到我的Android应用程序中(转到Twitter开发者)时,我发现自己必须Fabric像这样初始化Twitter

import io.fabric.sdk.android.Fabric;
import com.twitter.sdk.android.Twitter;
import com.twitter.sdk.android.core.TwitterAuthConfig;
...

@Override
public void onCreate() {
    super.onCreate();

    TwitterAuthConfig authConfig = 
                new TwitterAuthConfig("consumerKey",
                                     "consumerSecret");
    Fabric.with(this, new Twitter(authConfig));
}

他们正式建议我将API密钥API秘密都以纯文本形式输入我的应用程序中。即使在此官方示例中,密钥也存储在中BuildConfig

我正在使用Proguard,但即使那样,我也无法保证坚定的黑客将无法利用我的API SecretQuora等已建立的应用程序还会公开这些密钥吗?

有人可以发布克服此漏洞的示例,还是就Twitter为什么要这样做的说法给出令人信服的论点?

相比之下,GoogleFacebook仅要求我添加一个AppID,并且我必须对我的签名证书进行哈希处理并将哈希值链接到相应的应用程序。这个级别比上面的级别更安全。

马特·布朗

Proguard不会混淆字符串文字。相反,您可以将机密存储为加密的字符串(可能使用AES),并在需要时解密。或者,诸如StringerDexguard之类的商业程序提供字符串混淆功能。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章