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



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

为了让Vucko的评论更清楚,SharedPreferences只是用户设备上的一个.xml文件,这意味着如果手机是root用户,任何人都可以访问该文件-你不希望出现这种安全漏洞

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

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

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

谷歌之路

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

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

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

有关JSON的更多信息:什么是JSON

Volley:http://developer.android.com/training/volley/index.html

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

最新更新