1

我从论坛上读到了一些东西。有人开发了一个安卓应用程序。他使用 SharedPreference 而不是 SQLite 来存储密码。

我想知道原因。与 SQLite 相比,SharedPreference 是否具有更高的安全性?

我在 Google 上搜索了 SharedPreference,但并不真正了解它。

感谢您的信息。

4

3 回答 3

1

如果你用谷歌搜索得足够好,你会得到比知道更多的信息。严重地。

  1. 每种方法的优缺点
  2. 安全相关的讨论
  3. 一个基本的区别

还有什么?这一切都在!耶。

于 2013-01-01T16:10:43.497 回答
0

当然,我不知道“某人”的动机,但我可以想象它只是实现起来更简单。它当然不会更安全。

于 2013-01-01T16:09:16.947 回答
0

我两者都用,当我问他时,我的导师告诉我的是这真的是个人喜好问题。我使用 mysql 和共享首选项作为 android 应用程序中的会话的等价物 + 从我可以告诉它共享首选项的预期目的以及如果我不需要,为什么将这种简单数据存储在 mysqlite db 中?我只需要存储一些短数据字段,并且不需要编辑这些数据。Mysqlite 在这种情况下有点矫枉过正,但这里有一些很好的例子:

共享首选项:

http://www.androidhive.info/2012/08/android-session-management-using-shared-preferences/

使用 mysqlite 登录:

http://www.androidhive.info/2012/01/android-login-and-registration-with-php-mysql-and-sqlite/

(注意:如果你 dl 来自两个登录示例的源代码可以很容易地转换为使用共享首选项。该站点上的几乎所有代码都已重构为单独的类,可以反复重用,几乎不需要编辑。

不要误会我的意思,我确实使用 mysqlite 来缓存用户配置文件/提要等。所以他们不必等待它加载,最终我可能会使用所有 3 个(mysql、共享首选项和 mysqlite)进行登录。(例如:允许用户第一次注册->查询mysql,将数据存储为共享首选项作为会话,将用户数据存储在mysqlite中,以便用户注册后可以登录并查看现有的缓存消息等..甚至w. 通过查询 mysqlite db 并将返回的值存储在共享首选项中来断开 Internet 连接(我当然会在服务器端收到信号后立即验证这些凭据/在我允许他们更改或编辑任何内容之前.

于 2013-01-01T16:51:54.743 回答