Php 使用未加密密码通过数据库登录应用程序

Php 使用未加密密码通过数据库登录应用程序,php,mysql,encryption,titanium,Php,Mysql,Encryption,Titanium,非常简单,我的应用程序要求用户通过输入用户id和密码登录,通过在users表中搜索完全匹配的MySQL数据库进行身份验证。目前,表单接受用户id(用户表的主键)和随机生成的8个字符的密码,该密码使用PHP的crypt()加密。关于这个过程,我有几个问题 首先,更多的是一个主观问题,我不认为输入用户id很好。也许应该使用用户的姓氏和首字母(例如,John Smith成为smithj1)生成用户名。想法 其次,我不确定密码是否完全需要加密。这些信息其实并不那么敏感,如果用户不必输入一长串字母数字字符

非常简单,我的应用程序要求用户通过输入用户id和密码登录,通过在users表中搜索完全匹配的MySQL数据库进行身份验证。目前,表单接受用户id(用户表的主键)和随机生成的8个字符的密码,该密码使用PHP的
crypt()
加密。关于这个过程,我有几个问题

首先,更多的是一个主观问题,我不认为输入用户id很好。也许应该使用用户的姓氏和首字母(例如,John Smith成为smithj1)生成用户名。想法

其次,我不确定密码是否完全需要加密。这些信息其实并不那么敏感,如果用户不必输入一长串字母数字字符就更好了。是否可以只生成一个短字符串,可能是4-5个大写字符(类似于Google发送给您的验证帐户的代码)?换句话说,它更像一个密码而不是密码

根据第二个问题,这一点可能是没有意义的,但由于密码是使用
crypt()
加密的,我认为它不能用Tianium解密(我使用的是构建应用程序)。如果我应该继续使用加密密码,我应该使用什么来加密它,以便Tianium可以使用数据库检查输入的密码?

PHP将使用基于Unix DES的标准算法或系统上可用的替代算法返回哈希字符串


您可以使用Appcelerator提供的免费加密模块,也可以搜索。两者都可以解决您的问题。

您的ponint与编程无关,而是与您的应用程序本身有关。你必须为自己设计,没有人知道你的应用程序能够回答这些问题。你问题中的大部分内容都是主观的,就像Joqus说的,取决于你的应用程序、你的用户和你的要求。我回答了下面关于crypt()的问题。