Здравствуйте!
Суть:
Есть база данных с паролями. Все пароли хранятся в захешированном виде. Хеширование проводится при помощи функции password_hash PHP. Если пользователь введет "ПарольСекрет1123123", то в базу данных будет записано следующее:
$2y$10$Vo1rzCRf8gQSu3FZDvxeEu4EkhEIvyAF1BGWPbgim5OhRdTjqEqJm
Вопрос 1:
Насколько надежен этот хеш? Реально ли получить исходный пароль зная хеш? Возможно это в принципе?
Подбор пароля при помощи брутфорсинга:
Как бы ни хранился пароль, его все равно возможно подобрать. Поэтому нужно сделать защиту от брутфорсинга. Я хочу сделать так, что после 3-х неверных попыток пароль можно было ввести спусти 5 минут. Если даже тогда пароль был введен неверно, то пауза удвоится, и так далее. Я думаю это довольно надежная защита.
Но как это реализовать? Шифрование паролей:
Я подумал начать изучать криптографию, чтобы улучшить защиту и хранить не хеш пароля, а
хеш шифра пароля. Безусловно, нужно еще этот метод шифровки придумать, но это уже другой вопрос.
Какие методы защиты паролей вы еще знаете?
Заранее выражаю огромную благодарность всем, кто поможет!