2013-01-24 33 views
2

我有一個需要被激活才能在設備上工作的android應用程序。激活過程是通過短信發送加密密鑰並通過短信獲得加密回覆來激活應用程序。假設加密/解密是安全的。問題是我必須存儲應用程序狀態(激活/未激活/激活失敗),並在每次啓動時讀取它以查看該應用程序是否已激活。首選項和sqlite數據庫不安全。什麼是保存這種狀態的最佳方法?如何保護Android應用程序的激活?

+2

如果這兩個首選項或sqlite都不足以滿足您的需要,則設備上不會存儲任何內容。服務器端是要走的路。 – Geobits

+0

有沒有方法來加密sqlite數據庫或偏好文件? –

回答

6

保持您的服務器上的激活狀態,並在啓動時檢查它。

Android設備上沒有真正的安全存儲。用戶可以在任何他們想要的,並獲得適中的技術技能的情況下進行修改。如果您不希望用戶搞亂數據,請勿將其放在設備上。

+0

我可以依賴互聯網連接,因此激活過程是通過SMS完成的。有沒有辦法來加密sqlite數據庫或偏好文件? –

+1

@AliBehzadianNejad:不保護用戶。加密密鑰和算法將在您的應用程序中。任何人都可以訪問您的應用程序並獲取密鑰和算法。因此,如果你可以解密,那麼任何其他人都可以解密。 – CommonsWare