2011-12-29 3 views
3

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

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

$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 не принимает соль?

Спасибо.

+0

Возможный дубликат [Есть ли соль, содержащаяся в хэш-схеме phpass или вам нужно солить ее вход?] (Http://stackoverflow.com/questions/2596348/is-the-salt-contained-in-a- phpass-hash-or-do-you-need-to-salt-its-input) –

+0

Я бы сказал, что вместо этого вы должны использовать мою библиотеку. Но это было бы неправильно. PHPass может создать соль самостоятельно, а затем сохранить ее внутри хеша. Просто взгляните на документацию. –

ответ

5

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

Смежные вопросы