Правильная реализация PHPass - PullRequest
4 голосов
/ 30 декабря 2011

Я использую PHPass для хранения паролей пользователей в своем приложении, потому что это более безопасно, чем md5 или sha1. У меня вопрос о том, как бы я использовал соль с паролями.

Из того, что я собрал, я использую это так, когда вы вставляете пользователя:

$pwdHasher = new PasswordHash(8, false);
$hash = $pwdHasher->HashPassword($input_password);

и затем, когда вы проверяете данные пользователя при входе в систему, вы делаете:

$pwdHasher = new PasswordHash(8, FALSE);
if ($pwdHasher->CheckPassword($input_password, $hash_from_db)) {
    echo 'password correct';
} else {
    echo 'wrong credentials';
}

Но я не вижу там ничего, что использовало бы соль. Из того, что я прочитал, в моей пользовательской таблице должно быть дополнительное поле для соли, которая используется при хешировании пароля, но метод PHPass CheckPassword не принимает соль?

Спасибо.

1 Ответ

6 голосов
/ 02 марта 2012

Phpass добавляет соль, когда он хэширует пароль, поэтому нет необходимости добавлять отдельную соль и сохранять ее в своей базе данных.

...