[英]Android where to save personal data?
我有一個兩難的境地,我需要在我的Android設備上保存一些安全數據,這些數據是個人機櫃的登錄信息,所以請你給我一個建議,哪里更好地將這些信息保存到簡單的txt文件中(但安全性如何? ?)或者Android平台中是否存在MySQL DB的模擬(以及我如何訪問它)?
在Android應用程序中存儲個人數據的最佳方法是使用私有模式的共享首選項,這樣任何人都無法訪問除應用程序之外的其他數據。 有關詳細信息,請參閱有關共享偏好Android開發技巧在這里。
您可以將簡單的txt文件保存到應用程序目錄中。 通常,Android會為每個應用程序分配一個唯一的uid。 每個應用程序都有自己的應用程序目錄,模式為660.因此其他應用程序無法訪問其內容。 要編寫自己的應用程序目錄,可以使用以下代碼:
String filename = "myfile";
String string = "Your security content";
FileOutputStream outputStream;
try {
outputStream = openFileOutput(filename, Context.MODE_PRIVATE);
string = encrypt(string);
outputStream.write(string.getBytes());
outputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
但是,如果目標設備是root設備,則其他應用程序可以訪問您的文件。 因此,更好的方法是加密數據,並將其保存到應用程序目錄中。
對於數據庫方法,它有同樣的問題,您可以定義自己的內容提供程序而不將其導出,但在root設備上仍然容易受到攻擊。 所以無論你選擇什么,編寫txt文件或將其存儲在DB上,首先加密它是必要的。
您可以將詳細信息存儲在Android上的SQLdb中,但使用加密保存所有表單詳細信息並僅保留字符串。
你可以在下面的答案中看到一個人做同樣技術並使用phoneId進行加密的例子(雖然我不確定它到底有多安全)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.