我正在为我的一个android应用程序编写一个登录系统。我正在使用mysql登录系统的php & php,使用来自android应用程序的登录请求。请注意,该帐户也是由设备制作的(注册),现在是问题所在。Php 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)
更多信息可根据要求提供。任何帮助都很受欢迎!
根据[文档](http://php.net/manual/en/function.crypt.php),第二个参数为'crypt'是一种可选的盐。你为什么要将密码存储在数据库中? –
来自数据库的密码包含salt。在文档中看起来更低,第一个例子 – HcgRandon
通过调用crypt('mypassword')函数创建数据库中的密码 – HcgRandon