相当简单,我的应用程序要求用户通过输入用户 ID 和密码来登录,该用户 ID 和密码通过在用户表中搜索精确匹配来针对 MySQL 数据库进行身份验证。目前,该表单接受 user_id(用户表的主键)和随机生成的 8 字符密码,该密码使用 PHP 的 crypt()
加密。我对这个过程只有几个问题。
首先,更多的是一个主观问题,我认为输入用户id不太好。也许应该使用用户的姓氏和名字首字母生成用户名(例如,John Smith 变为 smithj1)。想法?
其次,我不确定密码是否完全有必要加密。这些信息实际上并不是那么敏感,如果用户不必输入一长串字母数字字符,那就更好了。只生成一个短字符串(可能是 4-5 个大写字符)是否可行(类似于 Google 发送给您验证帐户的代码)?换句话说,它更像是密码而不是密码。
根据第二个问题,这一点可能没有实际意义,但由于密码是使用crypt()
加密的,我不认为它可以被Titanium解密(我正在使用的构建应用程序)。如果我应该继续使用加密密码,我应该使用什么来加密它,以便 Titanium 可以根据数据库检查输入的密码?
最佳答案
PHP 的 crypt()
将使用基于标准 Unix DES 的算法或系统上可用的替代算法返回散列字符串。
您可以使用 Appcelerator 的免费加密模块,可用 in their marketplace ,或者您可以搜索 a JavaScript library that supports DES decryption 。两者都可以解决您的问题。
关于php - 使用未加密的密码通过数据库登录应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21302312/