В базе данных вы должны хранить возвращаемое значение endocer.encode
.
просто сохранить одно поле пароля VARCHAR, в котором хранится хэшированное значение, объединенное солью?
Это неправильно (или может только не правильно написано), верно:
- На первом шаге Соль добавляется к паролю,
- На втором шаге вычисляется хеш (из соленого пароля)
hash(password+salt)
Но НЕ наоборот hash(password)+salt
!
Люди говорят, что не следует хранить пароли в виде простого текста, но хешированные пароли по-прежнему представляют собой обычный текст абракадабры
Люди подразумевают, что вы не должны хранить пароль таким, какой он есть (простой), но, конечно, вы можете хранить хэш в текстовом представлении. - Проблема, о которой говорят люди, заключается в том, что если у кого-то есть доступ к базе данных, он не должен читать пароли для их использования. Если вы считаете, что хранение паролей в виде хэша (например, md5) недостаточно безопасно из-за хорошо известных таблиц md5 - открытого текста, тогда нужно добавить соль раньше и надеяться, что пароль + соль в этих таблицах отсутствует.