title: How does the md5 hashing algorithm compress data to a fixed length?
body: <p>I know that MD5 produces a 128-bit digest. My question is, how does it produce this fixed length output from a message of 128bits+?</p>
  
  <p><strong>EDIT:</strong></p>
  
  <p>I have now a greater understanding of hashing functions now. After reading <a href="http://unixwiz.net/techtips/iguide-crypto-hashes.html" rel="nofollow">this article</a> I have realized that hash functions are one-way, meaning that you can't convert the hash back to plaintext. I was under the misimpression that you could due to all the online services converting them back to strings, but I have realised that thats just rainbow tables (collections of string's mapped to pre-computed hashes).</p>