@ruslite

Как правильно хранить пароли?

Заношу через два поля Логин и пароль. Как правильно и надежно хранить пароли в БД? md5+соль еще актуально или нет? База Mysql.
Если возможно - то пример на php.

UPD:
Мне нужно получать пароль из другого языка, до этого я получал чистый пароль, делая запрос в БД, что небезопасно. Но если я буду хэшировать пароль, например, с помощью password_hash(), то как мне получить его в чистом виде? Делать каким-то образом запрос POST запрос?
  • Вопрос задан
  • 1557 просмотров
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 2
@test13r
В идеале ни сами пароли, ни какие либо ключевые последовательности вообще хранить не нужно нигде.
По возможности лучше не хранить пароли в открытом виде.
А приемлемым всё еще является хранение не самого пароля, а его одностороннего преобразования (hash) со всякими полезными нагрузками в виде "соли". Весь прикол в этом преобразовании в том, что самого пароля, то и нет. Есть лишь какая-то последовательность символов которую никак не преобразовать обратно.
Таким образом всё сводится к тому, что пароль в чистом виде по сети не передавался, а передавались результаты преобразования. В итоге при получении на сервере, к примеру, запроса авторизации, сверяется именно преобразованная последователь. Вот где-то тут и пропадает необходимость действия по восстановлению чистых паролей.
Ответ написан
akubintsev
@akubintsev
Опытный backend разработчик
Вам следует обозначить вашу цель.
Если она сводится к аутентификации, то действительно достаточно сохранения хеша.
Если же ваш сервис выступает в роли провайдера данных и аутентификация производится сторонним сервисом, то вам нужно выполнять шифрование. И тогда акцент вопроса лучше было бы сместить в сторону как обеспечить максимальную безопасность хранилища :)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы