Есть ли смысл в соли из хеша пароля? Прочитал кучу статей про правильное хранение и шифрование паролей.
Из всего существующего самым «популярным» является сохранение пароля в базе в виде md5(md5(password)+salt), при этом соль хранится в базе в соседней колонке (ну или в той же колонке где и хэш).
Такой способ конечно усложняет взлом пароля, но имея хеш и соль взломать все равно можно.
Есть ли смысл, если
1. хешируем пароль: hash1 = md5(password)
2. в качестве соли берем допустим 10 символом от хеша hash1
3. получаем итоговый хэш по старому алгоритму: md5(md5(password)+salt), или
md5( md5(password)+substr(md5(password),0,10) )
Вопрос: будет ли этот способ лучше способа с хранением соли в отдельной колонке, или хуже? Может есть что-то более «хитро-извращенное»?
Такой подход к хранению паролей может быть более безопасным, чем просто хранить соль в базе данных, так как соль будет уникальной для каждого пользователя и будет зависеть от его конкретного пароля. Это усложнит задачу злоумышленникам при попытке взлома пароля, так как им придется знать исходный пароль, чтобы сгенерировать правильную соль для взлома.
Однако, ни один метод хранения паролей не является идеально безопасным, и всегда существует риск взлома. Для повышения безопасности рекомендуется также применять дополнительные методы защиты, такие как использование сильных алгоритмов хэширования, добавление дополнительных слоев шифрования или использование двухфакторной аутентификации.
Если вы хотите усовершенствовать метод хранения паролей, можно рассмотреть использование специальных библиотек для работы с паролями, таких как bcrypt или Argon2, которые предлагают более безопасные алгоритмы хэширования и управления солями. Также важно следить за обновлениями и рекомендациями в области безопасности паролей и регулярно обновлять свои методы защиты.
Такой подход к хранению паролей может быть более безопасным, чем просто хранить соль в базе данных, так как соль будет уникальной для каждого пользователя и будет зависеть от его конкретного пароля. Это усложнит задачу злоумышленникам при попытке взлома пароля, так как им придется знать исходный пароль, чтобы сгенерировать правильную соль для взлома.
Однако, ни один метод хранения паролей не является идеально безопасным, и всегда существует риск взлома. Для повышения безопасности рекомендуется также применять дополнительные методы защиты, такие как использование сильных алгоритмов хэширования, добавление дополнительных слоев шифрования или использование двухфакторной аутентификации.
Если вы хотите усовершенствовать метод хранения паролей, можно рассмотреть использование специальных библиотек для работы с паролями, таких как bcrypt или Argon2, которые предлагают более безопасные алгоритмы хэширования и управления солями. Также важно следить за обновлениями и рекомендациями в области безопасности паролей и регулярно обновлять свои методы защиты.