Intereting Posts
Проверьте статус пользователя, а затем, если все в порядке, проверьте, есть ли admin; с PHP (база данных mysql) Почему мой strtotime («сегодня») не работает? Как войти в систему с использованием двух разных моделей или класса идентификации коммутатора в yii2? PHP __call vs method_exists Чтение текстового файла с запятой или табуляцией Codeigniter бросает ошибку 520 CloudFlare при использовании сеанса Удаление параметра «code» из URL-адреса – Facebook connect PHP Как я могу легко объединить два документа XML с одним и тем же родительским узлом в один документ? SugarCRM On-Demand Преобразует TextField в DropDown Вызов случайных сеансов Codeigniter (уже опробованный переопределить класс сеанса И повышение session_time_to_update Исключение PHP PDO: не удалось найти драйвер Предупреждение PHP-разработчика xdebug Проверьте хэш пароля в nodejs, который был сгенерирован в php Контактная форма Php – Дополнительные поля (отделка) Имеет ли glob () отрицание?

Хеширование с использованием crypt в PHP

Недавно я читал книгу о безопасном способе хранения пароля в базе данных. Книга началась с MD5, SHA1 и CRYPT_BLOWFISH. Из того, что я читаю, я понимаю, что безопасный способ хранения паролей – это использование CRYPT вместе со случайным солем на пользователя (значение, которое пользователь вставляет во время регистрации, например, имя пользователя), не сохраняя соль в базе данных.

Итак, скажем, что я генерирую соль:

$salt = '$2y$11$'; $salt = $salt.md5($username); 

Поскольку мы знаем, что хэш MD5 – строка длиной 32 символа. Итак, 7 + 32 = 39 символов string = SALT Что-то вроде этого: $2y$11$243dc6440dfd91e35a773035da362f4e

Затем я генерирую хэш с помощью crypt() :

 $hash = crypt($password,$salt); 

Хеш склепа всегда приводит к 60-символьной строке. Результат: $2y$11$243dc6440dfd91e35a773uY4TBuP14hk.KZq4VvOWV8EhT03Vj8Tu

Если хакер получит доступ к базе данных, он / она увидит часть $2y$11$ из 60-символьной строки выше.

Мой вопрос: Является ли эта информация полезной для хакера (зная метод хэширования и стоимость)?

Должен ли я хранить хеш, опуская эту часть? 243dc6440dfd91e35a773uY4TBuP14hk.KZq4VvOWV8EhT03Vj8Tu

Будет ли это еще хуже для хакера?

Помимо этого, существуют ли какие-либо другие предложения относительно безопасности паролей ПОСЛЕ того, как хакер получает доступ к базе данных?

Solutions Collecting From Web of "Хеширование с использованием crypt в PHP"