Это относится к security.stackexchange.com
Проблема заключается в вычислительной мощности в сочетании со скоростью алгоритма хеширования.В основном он передает bcrypt, который работает медленно.
Если хакер использует как хеш, так и соль, а также знает алгоритм, используемый для хэширования пароля, то взломать его просто вопрос времени.
Если использовать очень быстрыйалгоритм, то это время довольно мало.Если использовать чрезвычайно медленный алгоритм, тогда, очевидно, гораздо больше времени, чтобы найти хит.
Что подводит нас к основной причине, по которой мы в первую очередь хешируем / солим вещи: чтобы выиграть время.Время, которое можно использовать, чтобы изменить все перечисленные пароли, и время, чтобы связаться со всеми пользователями, чтобы сообщить им, если им нужно изменить свои пароли в других системах.
Причина, по которой мы используем соль, заключается в том, чтозаставить хакера построить радужный стол за соль .Таким образом, одна таблица не может быть использована для взлома всех ваших паролей.Единственные причины для этого - выиграть время и, мы надеемся, отговорить обычных хакеров от вложения дополнительных ресурсов в их взлом.
Хешированные пароли, независимо от используемого механизма, небезопасны в том смысле, что большинство людей принимают это слово.Безопасность не означает «никогда не может быть взломан».Скорее это означает, что «это будет дорого с точки зрения времени / усилий для взлома».Для большинства хакеров они хотят низко висящие фрукты, такие как только открытый текст.Для некоторых они пойдут на любую крайность, такую как построение огромных радужных таблиц на единицу соли, чтобы получить их все.
И, конечно же, в основе этого лежит то, легко ли идентифицируются какие-либо "супер" учетные записи пользователей в вашей таблице пользователей.Для большинства систем достаточно просто взломать учетную запись типа системного администратора, и поэтому факт использования другого значения соли для пользователя не имеет значения.Умные будут просто беспокоиться об этом одном аккаунте.