检查共享首选项数据库中是否已存在特定用户名或密码

时间:2016-03-31 16:57:20

标签: android

我正在尝试创建一个注册活动,我想知道我是否可以使用共享首选项数据库。由于时间有限,最重要的是,如何检查该数据库中是否已存在用户名或密码。这是为了防止其他人像所有需要注册的应用程序一样输入匹配的记录。我尝试过if语句,但我不知道如何继续。

1 个答案:

答案 0 :(得分:2)

为了使Vucko的评论更加清晰,SharedPreferences仅仅是用户设备上的.xml文件,这意味着如果手机已植根,任何人都可以访问该文件 - 您不希望出现安全漏洞

找一个好的教程并为你的应用实现一个MySQL DB(你可以找到像hostinger这样的免费托管服务)并通过PHP REST服务连接到它。 Google Volley库将帮助您处理来自您服务的JSON响应,您可以使用它将用户名,密码等发布到数据库以存储它们。

使用PHP的BCRYPT算法在将密码存储到数据库之前对其进行加密,并在比较密码时使用password_verify()(您可以阅读有关BCRYPT的PHP手册)。

当需要教程时,我建议也在YouTube上搜索。有时那里有非常好的教程。对此事做同样的事。

Google Way

如果这不是一个大项目,或者即使它是,那么您可以使用 Google登录而根本没有数据库。它的设置相对容易,如果您对我提到的所有内容都不熟悉,可能会花费更少的时间。我不确定你是否需要Developer Account(费用为25美元,但你还需要它才能将应用程序发布到商店)。当用户成功登录时,您可以保存他们用于登录过程的Google e-mail地址,并在SharedPreferences中将isLoggedIn的布尔值设置为true。实际身份验证将全部发生在Google服务器上,除了处理结果 - 成功或失败之外,您无需执行任何操作。

PHP BCRYPT http://php.net/manual/en/function.password-hash.php

(不要使用MD5,它被认为是不安全的,不再被专家建议用于密码加密)

有关JSON的更多信息What is JSON

排球http://developer.android.com/training/volley/index.html

示例教程http://www.tutorialsbuzz.com/2014/12/android-php-insert-mysql-db-volley.html