Почему это? В базе данных находятся не все возможные хэши, а только их подмножество. Вы берёте любой пароль, хэшируете с солью, получается хэш и с огромной вероятностью его в базе нет — пароль не верный.
Может и сходится, а толку. В реальных условиях N << ∞
Да, с каждой новой итерацией количество возможных значений результирующей хэш-функции не увеличивается. Но их всё ещё очень много.
Идея не очень хорошая. Добавление 100G значений хэшей усложняет брутфорс в 37 раз (2^37 ~= 137G), тогда как многократное хэширование усложняет перебор в N раз, где N может быть явно больше 37.
PBKDF2 это вообще алгоритм из другой оперы. Он лишь использует хорошую идею многократного хэширования, которая могла бы пригодиться для хранения хэшей.
Не знаю как у вас, а у меня там было захардкожено имя диска «A:». Продвинутые пользователи могут конечно туда и флешку подсунуть и виртуальный диск, но таких мало ведь.
Вот этот вывод свершенно неочевиден.
Да, с каждой новой итерацией количество возможных значений результирующей хэш-функции не увеличивается. Но их всё ещё очень много.
2. Хэшируем его с имеющейся солью
3. Ищем в таблице с хэшами
4. Если не нашли — goto 1