Php crypt() 函数返回 "weird results"

标签 php mysql linux crypt ubuntu-12.10

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

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)

更多信息可应要求提供。非常接受任何帮助!

最佳答案

好吧,我现在觉得自己很蠢。我的 mysql 数据库密码字段被限制为 varchar(50),所以它切断了密码并且它们永远不可能相等。我将数据库字段增加到 200 个,但我不想再冒险了。感谢大家的宝贵时间,感谢 Charles 发现了问题

关于Php crypt() 函数返回 "weird results",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14115896/

相关文章:

php - PHP Select 语句错误

php - 确定 WordPress 用户 session ID 并返回当前用户电子邮件地址

php - Laravel:如何动态创建和命名 View ?

mysql - yii2 : Cannot Show Data in Widget GridView

php - PHP MySQL 中的数组比较和插入唯一值

linux - "Unknown symbol in module"在模块插入时尽管有 EXPORT_SYMBOL

linux - 对目录中的文件使用 wc 后排序

php - 转移到新服务器,现在 CodeIgniter/Ion_Auth 无法工作

php - 使用 HTTP-POST 方法将 MySQL 从 xcode 更新为 PHP

linux - 线程可以在持有 pthread 锁时被抢占吗?