Is it possible to recreate a file if you have the files md5sum? Or is it only possible through brute-force?
Is it any differences between the different algorithms?
Generating a hash of any kind could be thought of as a form of "Lossy Compression", during the creation of the output you loose data about the input.
The only way to get that data back is by "guessing" and trying the lossy operation again to see if you get the same result again. This is exactly what "Brute Forcing" is, guessing every possible value that could have been sent in and checking to see if you get the same output again.
However know that you can't know for sure you have the "correct" missing information just because you got the same output after processing it. For example I have algorithm that I enter a word and it outputs:
would you have guessed that the word I input was "Firetruck"?
While MD5 is not considered secure for verifying the integrity of a file, it is still pretty much impossible to recreate the file from the hash.
Here is a comparison of cryptographic hash functions on Wikipedia.