Если честно, обычно просто пытаюсь словарные атаки и радужные таблицы — они быстрее и часто хватает для MD5. SHA-256 уже посложнее, тут brute force долго, и смысла мало без мощной железки. Выбор зависит от задачи: хочется быстро — словари, надо перебрать конкретно — брут. Иногда просто не заморачиваюсь, если хеш слишком крутой.