【问题标题】:shared preference for passcode共享密码偏好
【发布时间】:2013-01-01 16:02:41
【问题描述】:

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

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

我在 Google 上搜索过 SharedPreference,但不是很了解。

感谢您的信息。

【问题讨论】:

    标签: android


    【解决方案1】:

    如果你用 Google 搜索得足够好,你会得到比你想知道的更多的信息。认真的。

    1. Pros and Cons of each approach
    2. Security related discussion
    3. A basic difference

    还有什么? 一切尽在掌握!耶。

    【讨论】:

    • 感谢您提供有趣的链接。
    【解决方案2】:

    我两者都用,当我问他时,我的导师告诉我的是这真的是个人喜好问题。我使用 mysql 和共享首选项作为 android 应用程序中的会话的等价物 + 从我可以告诉它共享首选项的预期目的以及如果我不需要,为什么将这种简单数据存储在 mysqlite 数据库中?我只需要存储一些短数据字段,并且不需要编辑这些数据。 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 连接(我当然会在服务器端收到信号后立即验证这些凭据/在我允许他们更改或编辑任何内容之前.

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-07-29
        • 2019-03-20
        • 1970-01-01
        • 1970-01-01
        • 2017-05-17
        • 2013-03-15
        • 2013-05-10
        相关资源
        最近更新 更多