2015-08-26 176 views
2

我想在Android應用程序中存儲一些敏感數據。 我知道我能夠將它存儲在SharedPreference中或將數據放入sqlite中。但是,如果用戶根據應用程序,他將能夠獲得數據。 我也知道我可以加密數據並將其存儲在相同的地方。 但是,我確實想知道Android默認情況下是否具有像使用鑰匙串的iOS的機制並將其存儲在鑰匙串中。 我不確定是否有人問過同樣的問題。如果是,請重定向我Android安全地存儲用戶數據

+0

真的沒有任何「安全」的地方在移動設備上存儲任何東西 – tyczj

+0

你可以使用sqlcipher檢查這個https://github.com/sqlcipher/android-database-sqlcipher –

回答

1

有一個由Duncan製作而成的庫,你可以在GitHub上找到(JNCryptor)並且應該對你有用。這與iOS的RNCryptor項目兼容。

這可能適用於Android,或者至少您可以看到代碼如何工作並根據需要進行調整。

看看這個question(我在哪裏找到了這個庫),它與你所要求的不一樣,但可以提供幫助。

0

我認爲一個好主意是使用Android密鑰庫「安全」存儲您的密鑰,然後用它來加密/解密您的數據。

在Android框架內找到一個解決方案總是比較好,而不需要使用任何庫。

查看此link瞭解更多信息。

如果您想使用更加複雜和「安全」的方式來加密/解密數據,您可能認爲要在遠程服務器上存儲您的密鑰,但這取決於您的應用程序。

UPDATE 注意您可以安全存儲你的數據只能用安全元件,如SIM卡(見this)。您甚至可以使用TEE技術,該技術比文件系統更安全,但比SIM更安全,可將安全對象存儲在設備上。這項技術並不適用於所有設備。

相關問題