Есть ли смысл хешировать уже захешированные пароли?

Добрый день!
Начитался, что MD5 + соль не такая беопасная связка, и в рамках усиление безопасности своих сервисов решил принять меры.

Сейчас в базе лежат захешированные (SHA256) пароли пользователей + соль (uuid v4), есть ли смысл их поверх захешировать, скажем Scrypt'ом (или Bcrypt'ом) или это не сделаем SHA256 более безопасным, а только лишь создась мусорную нагрузку?

Или имеет смысл ввести поле crypto_type, где хранить каким хешом был захешен пароль, и оставить старые пароли в покое, а хешить Scrypt'ом только новых пользователей?
  • Вопрос задан
  • 630 просмотров
Пригласить эксперта
Ответы на вопрос 2
Да, есть смысл для bcrypt как минимум. Задача bcrypt в том, чтобы замедлить процесс брутфорса и сделать его ресурсоемким и сложно реализуемым на специализированном оборудовании / GPU / ботнетах и т.п. (см. например openwall.info/wiki/john/GPU/bcrypt). Это сильно замедляет возможности подбора даже относительно слабых паролей.
Есть еще более интересные алгоритмы, например Argon2 и yescrypt.

Вводить разные хэши для разных пользователей не стоит, решение с "перехэшированием" старых хэшей вполне безопасно.
Ответ написан
Jump
@Jump
Системный администратор со стажем.
Я не являюсь специалистом в криптографии.
Однако исходя из известных мне базовых принципов криптографии это занятие как минимум бессмысленно, как максимум вполне возможно понизит безопасность.

Сейчас в базе лежат захешированные (SHA256) пароли пользователей + соль (uuid v4)
Смысл этой фразы непонятен.
Как могут в базе лежать захешированные пароли? Что это вообще такое?
Бывают пароли - придуманные пользователем последовательности символов используемые для аутентификации.
Бывают хэши - результат работы функции хэширования.
О хэшированных паролях слышу в первый раз.

Обычно в базе хранят хэши паролей. Это нормальная практика.
А у вас что-то непонятное.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы