2012-10-26 152 views
1

我正在爲我的應用程序實現應用程序內計費系統,並且(作爲文檔建議)我想向數據庫添加一些加密系統。Android中的安全數據庫存儲

我測試過SQLCipher,我喜歡它,但由於它需要在android.database.sqlite.*覆蓋所有類的應用程序失去與SDK的一部分連接,可能失去未來的重要更新,並根據開發者(或者你自己,因爲是開源的)。

我考慮過的其他解決方案是在sensible表中添加一個額外的列,存儲一個值(每個設備都是唯一的),然後忽略不包含該密鑰的數據。但是這種方法顯然比較薄弱。

如何在不使用SQLCipher的情況下提高安全性?由於

+0

你爲什麼不加密數據庫文件? – toadzky

回答

1

如果sensible表包含敏感和列一些不,如果你沒有在where子句中使用合理的欄目中,你可以伊斯利加密/解密上寫只是明智場/讀操作沒有顯着的性能成本。

如果您需要在只有幾條記錄的表的where子句中使用合理的列,則可以讀取所有記錄,解密並選擇。

如果以上都沒有答案,那麼除SQLCipher之外我沒有其他建議。

+0

經過第二次思考之後,我意識到它即使在'where子句'上使用明智的列時也可以工作,只要您還要對要比較的值進行加密。真正的限制在於'sort by'子句,因爲沒有辦法知道如何在不解密的情況下對加密記錄進行排序。 – Luis

相關問題