2015-11-11 39 views

回答

1

如果我是你,我會租用一臺服務器(也許亞馬遜)和創建一個數據庫,並插入我們用簡單的加密字符串的API密鑰(哈希等)。

ID - Name - androidKey - key 

1 - GoogleAPI - AJKBSASHUA9 - yourAPIKey 
2 - YandexAPI - 5A6S5D6A53C - yourAPIKey 
. 
. 
. 

然後你就可以創建一個由你的Android的packageName運行服務;

http://example.com/API/getAPIKey/ 
?packageName="yourPackageName" 
&androidKey="AJKBSASHUA9" 

如果您使用POST方法是爲你的安全。

+0

md5不是加密,而是散列。 –

1

簡而言之,您無法在應用程序內部或內部的APK中執行此操作。如果有人想得到它,他們會得到它。

  • 你要破譯它們,我會在應用程序中找到密鑰。
  • 你要把它們放到網上並在安裝後取出它們,我將根據我的手機取得它們。

你爲什麼要隱藏在首位,他們與你的[發佈|調試]的SHA1指紋分配密鑰庫和你的包的名字,沒有人可以有你的釋放密鑰庫和密碼。

1

雖然您可能無法達到150%的安全性,但您可能需要在應用程序中採取措施來減緩可能的攻擊者。這會導致他們中的一些人不願意利用你的應用程序,僅僅因爲它不值得付出努力。

OWASP移動安全項目發佈了他們的收集"Top Ten Mobile Risks",其中特別是「Broken Cryptography」和「缺乏二進制保護」這兩個主題在你的案例中很有趣。雖然這個鏈接並沒有爲你提供一個簡單的「如何」,但我認爲它可以幫助你評估你的情況。