Я использую 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'; }
Но я ничего не вижу там, где соль. Из того, что я прочитал, моя таблица пользователя должна иметь дополнительное поле для соли, которое используется при хешировании пароля, но метод CheckPassword для PHPass не принимает соль?
Благодарю.
Phpass добавляет соль, когда она хеширует пароль, поэтому нет необходимости добавлять отдельную соль и хранить ее в своей базе данных.