經過長時間的研究,我們沒有找到有效的解決方案。Android應用程序的安全API密鑰
我們在我們的應用中使用了外部SDK和API的API密鑰。
This link表示將您的密鑰綁定到簽名證書。如果您有自己的SDK或API,這非常棒,但對於必須提供指定密鑰作爲參數的外部元素,這不是一種選擇。
以下鏈接不適用於我們的情況。 Implementing (secure) Api Keys in an app
此外,我們花了三天的時間嘗試不同的配置,以及ProGuard UI試圖使用ProGuard混淆我們的代碼而沒有成功。
我們還實現了AndroidManifest.xml鍵引用,但它們在生成的config.java類中清晰可見。因此,這也不是一個可行的解決方案。
保護源代碼是次要優先事項。我們主要關心的是API密鑰的安全性。
任何人都可以提供一個可能的解決方案嗎?當我們無法讓ProGuard使用簡單的項目時,DexGuard產品是否真正的解決方案?
「我們主要關注的是API密鑰的安全性」 - 針對誰的安全?你是否擔心俄羅斯黑手黨會竊取你的Twitter密鑰,並使用這些密碼在你的名字下張貼隱晦的評論?如果你想防範自動機器人,抓取谷歌播放明文密鑰,它應該足以使用模糊的變量名稱(沒有AndroidManifest常量!)和手動加密對硬編碼字節串(可能不應該使用Base64)的密鑰。如果有人決定手動提取密鑰,那麼無論您對它們付出多少努力,他們很可能會成功 – user1643723