2011-04-04 199 views

回答

1

您可以加密SQLiteDatabases。 Android不支持全數據庫加密,因此如果您願意,您必須自行實施。

如果你想遵循加密路線,那麼你最好自己加密敏感信息並將其存儲在數據庫字段中,如Morrison的答案。

所有這一切說 - 你在哪裏把加密功能的密碼?你可能需要它在你的應用程序的某個地方!在這種情況下,有人可以反彙編你的代碼,然後找到密碼,並解密信息(儘管它會有更多的工作)。除非你散列信息(單向),然後在設備上沒有硬件加密(甚至有缺陷),你不能在設備上完全安全地存儲任何東西 - 你總是需要解密信息一段時間,密碼必須在設備的某個地方。

如果你想真的強大的安全性,然後存儲在服務器(最好是在一個非常安全的位置)上的敏感信息,而不是設備,並通過加密通道在設備和服務器之間的通信只(HTTPS)。您還需要以安全的方式驗證設備。但要做到這一點,您需要在設備上存儲一些敏感信息,以便使用服務器對設備進行身份驗證,除非您強制用戶每次輸入密碼(建議安全是必須的)。 如果信息存儲在服務器上,您不一定可以防止不應訪問的人員(通過查找您存儲的密碼或在用戶存儲在頭部時釣魚用戶),但可以撤銷對信息的訪問。