Php crypt()函数返回“奇怪的结果”

时间:2013-01-02 01:22:37

标签: php mysql linux crypt ubuntu-12.10

我正在为我的一个Android应用程序编写登录系统。我正在使用mysql&用于登录系统的php,使用来自Android应用程序的登录请求进行登录。请注意,该帐户也是由设备制作的(注册),现在问题就在这里。

crypt函数似乎正在解决许多额外的东西,它包含正确的哈希密码,但它与数据库中的不一样,如果我告诉你它是最好的:

我的数据库中的密码: $ 6 $ WX6WbSQfm5iN $ vx / B9TKLkcnVDxIPvK9TUzpWLjD77mlCk

确保使用正确的密码并使用此功能

crypt($userPasswordFromPost, $encryptedPasswordFromDB)

返回如下值: $ 6 $ WX6WbSQfm5iN $ vx / B9TKLkcnVDxIPvK9TUzpWLjD77mlCk kOj43jHRW25ecYfbhgGtm27tVG9oSGHqaKrOugYrBpjwzZ // gel0

请注意我必须放置一个空格来加粗上面的字符串,但是没有空间是该函数返回的完整字符串,因为你可以看到正确的哈希密码,因为它后面有很多废话

System info
 running on: Ubuntu Linux 12.10 (64 bit)
 php version: PHP 5.4.6-1ubuntu1.1 (cli)

可根据要求提供更多信息。任何帮助都被大大接受了!

1 个答案:

答案 0 :(得分:1)

好的,我觉得此时非常愚蠢。我的mysql数据库密码字段仅限于varchar(50),因此它切断了密码,并且它们无法平等。我将数据库字段增加到200以上,但我宁愿不再采用这种方法。谢谢大家的时间,感谢Charles发现问题