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

时间:2014-01-23 07:49:38

标签: php mysql encryption titanium

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

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

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

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

1 个答案:

答案 0 :(得分:0)

PHP的crypt()将使用标准的基于Unix DES的算法或系统上可用的替代算法返回散列字符串。

您可以使用Appcelerator的免费加密模块,in their marketplace,也可以搜索a JavaScript library that supports DES decryption。要么解决你的问题。