0

我正在为我的一个 android 应用程序编写登录系统。我正在使用 mysql 和 php 登录系统,使用来自 android 应用程序的 post 请求进行登录。请注意,该帐户也是由设备创建的(正在注册),现在这是问题所在。

crypt 函数似乎添加了很多额外的东西,它包含正确的散列密码,但它与数据库中的不同,如果我告诉你最好:

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

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

crypt($userPasswordFromPost, $encryptedPasswordFromDB)

返回这样的值:$6$WX6WbSQfm5iN$vx/B9TKLkcnVDxIPvKc9TUzpWLjD77mlCk kOj43jHRW25ecYfbhgGtm27tVG9oSGHqaKrOugYrBpjwzZ//gel0

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

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

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

4

1 回答 1

1

好吧,我在这个时候觉得很愚蠢。我的 mysql 数据库密码字段仅限于 varchar(50),所以它切断了密码,他们不可能相等。我将数据库字段增加到 200 位,但我不想再冒险了。谢谢大家的时间,感谢查尔斯发现问题

于 2013-01-02T16:03:19.907 回答