我有一個用戶區和管理區的網站。在管理區域中,我有一個用於創建用戶的頁面和一個用於創建管理員的頁面。在用戶和管理員的網頁,我用下面的代碼以哈希密碼:phpass CheckPassword使用不同的鹽?
$hasher = new PasswordHash(8, false);
$password = $HTTP_POST_VARS['password'];
$hash = $hasher->HashPassword($password);
$HTTP_POST_VARS['password'] = $hash;
對於用戶頁面,檢查密碼的代碼是:
$hasher = new PasswordHash(8, false);
$check = $hasher->CheckPassword($password, $arrData[$conf['PASSWORD']['FIELD']]);
if ($check) {
//login...
}
這完全正常工作。我的用戶密碼被散列並正確檢查密碼。我在管理員登錄頁面上使用相同的代碼,但它不起作用。它從數據庫中提取正確的信息,但是當使用CheckPassword時,密碼不匹配。我認爲這可能與醃製有關,因爲密碼的開始部分似乎是相同的。
順便說一下,我使用PHP 4.3。
你爲什麼使用PHP 4.3? – Martin 2012-08-16 18:17:24
@Martin爲什麼要這麼重要?爲什麼有人可能被迫使用過時的技術有很多原因。只是幫助OP回答這個問題。 – Matt 2012-08-16 18:19:27