我正在編寫一個Android應用程序,我需要在設備上存儲一些信息,但是當用戶在應用程序管理器上按下「清理數據」時,我不希望這些信息被清除。我也不想存儲在存儲圖像和音樂的「正常」位置,因爲用戶可以看到它並將其刪除。存儲文件安全的地方?
它在哪裏是存儲這些文件的最佳位置?
我正在編寫一個Android應用程序,我需要在設備上存儲一些信息,但是當用戶在應用程序管理器上按下「清理數據」時,我不希望這些信息被清除。我也不想存儲在存儲圖像和音樂的「正常」位置,因爲用戶可以看到它並將其刪除。存儲文件安全的地方?
它在哪裏是存儲這些文件的最佳位置?
我會用javax.crypto。*包加密。
JCA參考指南這裏:http://docs.oracle.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html
要存儲,您可以使用簡單的SharedPreferences
如果用戶清除你的應用程序的數據,SharedPreferences不見了:) – 2014-10-31 20:52:27
這不是加密問題。這是用戶刪除文件的問題。 – Fusseldieb 2014-10-31 20:52:48
hm所以如果我理解你的權利,你想創建一個永久文件的智能手機擁有者不能刪除:D? – PKAP 2014-10-31 21:08:16
我覺得你的假設應該是你不能阻止它沒有某種登錄。 你不能真正阻止匿名用戶作弊,你應該考慮這些數據的重要性,以及你願意投資多少以獲得最佳結果。
這就是說,爲了使之更難以作弊,我會用android.os.Build.SERIAL 即使它不是100%獨特的,它仍然是聊勝於無。
爲了更難生成連續劇,我也會加密這個連續劇,所以如果一些用戶嗅探到你的請求並想多次投票,他也需要知道如何加密它。
同樣地,如果一些用戶想欺騙他可以,但這樣你至少消除懶惰作弊:)
如果是用戶真的不應該訪問的數據 - 他的設備是不是地方存儲它。 – 2014-10-31 20:38:08
但它是一個唯一的ID。我需要存儲在用戶設備上。 – Fusseldieb 2014-10-31 20:40:32
您是何時以及何時生成此唯一ID的? – 2014-10-31 20:41:42