Android在哪里存储凭证信息,如网址,用户名,密码?

时间:2011-08-30 17:59:22

标签: android

我有一个应用程序,它将连接到服务器并提供一些基本的连接凭据信息,如服务器URL,使用者,应用程序ID等。在Android应用程序中存储此信息的最佳选择是什么?它应该是一种偏好吗?不确定在哪里存放这些物品。我应该澄清一下这个问题。有不同级别的安全要求,所以我有兴趣听说如何加密密码等,但也有一些项目通常没有加密像连接URL等,所以我也有兴趣如何存储这样的信息。我基本上是在寻找更好的解决方案

3 个答案:

答案 0 :(得分:0)

您可以以编程方式CRUD SharedPreferences来存储此信息。 PreferenceManagergetDefaultSharedPreferences是访问它们的一种方式。阅读本指南以开始使用:http://developer.android.com/guide/topics/data/data-storage.html#pref

Android将阻止其他应用程序访问您在SharedPreferences或SQLite数据库中存储的任何内容。无论哪种方式,您仍然以明文形式存储信息。如果攻击者获得root访问权限,他们就可以读取该信息。

更新 - 我之前找不到这个,但这里有来自Reto Meier的一些合理建议:What is the most appropriate way to store user settings in Android application

答案 1 :(得分:-1)

您希望使用HTTPClient并将这些值存储在会话cookie中(由服务器分发)。

只要您提出请求,这些cookie就会由HTTPClient自动管理,直到Cookie过期。

请勿将此信息存储在本地数据库或“首选项”中。任何将手机插入电脑的人都可以非常轻松地浏览数据库。

答案 2 :(得分:-2)

我认为偏好是最好的。在SQLite数据库中存储可能不安全。 可以提取和访问数据库(也使用SQLite编辑器应用程序),但任何其他应用程序都无法访问首选项。