(Я правильно понимаю, что речь идёт про поиск любого такого пароля, который при обработке хеш-функцией даёт заданный хеш и, при этом, исходный пароль мы не знам?)При солёных хешах поиск сводится к поиску такого пароля P* (при исходном пароле P), что:
H(S . P) == H(S . P*),
где H - хеш-функция, S - соль, "." - конкатенация.
То есть злоумышленник, зная соль, функцию и хеш, должен найти такой пароль, который после конкатенации и обработки функцией H даёт прежний хеш.
Как по мне - это сильно усложняет задачу по сравнению с нахождением коллизии типа:
H(P) == H(P*).
---
Да и вообще, когда P неизвестен, но известен H(P) - это, вроде, называется поиском прообраза (и сложность именно этой операции важна, если утекли хеши). А поиск коллизии - это просто поиск _любой_ пары P и P*, дающих одинаковый хеш.
Впрочем, я могу быть не прав...