繁体   English   中英

如何隐藏我的API密钥,以便任何人反编译我的应用程序都看不到它?

[英]How can I make my API key hidden so that anyone decompling my app wouldn't see it?

在我的应用程序中,我使用许多需要API密钥的第三方API,并且具有我不能过去的配额。

我担心有人反编译我的应用程序将能够看到这些密钥并使用它们。

我该如何隐藏它们?

我正在使用proguard进行混淆

正如Hopkinson先生所指出的,如果您的应用程序能够将API密钥传递给API,则某人可能会获得该密钥。

理想情况下,密钥将与您的应用程序签名密钥绑定,就像许多Google的API(例如,GCM,Maps V2)一样,即使有人获得了您的API密钥,他们也无法轻易使用它。

除此之外,还要投资DexGuard,这是ProGuard的商业扩展,用于加密应用中的数据(资源,静态字符串等)。 这可以打破,但这样做很繁琐。 如果攻击者确实需要您的API密钥,则攻击者可以获得它。 但是,如果这更像是一种“随意”攻击,那么攻击者可能会认为不值得付出努力并继续前进。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM