Брутфорс хеш-функции из-за коллизий может найти несколько вариантов S (в бесконечном времени - бесконечно много). С помощью второй функции можно дополнительно проверить, тот ли это S. Опять же, при достаточном количестве времени, можно найти сколько угодно S, дающих нужные хеши в обеих функциях.
Вроде бы sha256 не особо медленнее MD5, зато коллизий в нём точно меньше. Поэтому разумно брутфорсить по SHA256. Предполагаю, что первый же вариант будет верным.