md5 is a one way hashing algorithm if you know. You can encode data/words/paragraph using md5 and the result is a small string, i forgot the exact length. And hence, the md5 hashing alogirthm has been known for collision. (2 words resulting in same hash)
The only way you can decode a hash, is my storing the hash and word at the time of hashing. What all big sites do is, they all store hashes for dictionary words, and also when we hash a word, they store it and thats why they can decode it.(its not decoding, its just fetching the right thing from the database.)