我正在爲我的一個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