MD5 it's like fingerprint for human. Fingerprint is a small piece of data that uniquely identify very big body (human). The same true for MD5 hashing algorithm - small number (just 32 character in length) can uniquely identity very large file.
MD5 is a computer algorithm that returns small unique number for any content (string, text file, image, video file e.t.c.). If content changes for at least one character the MD5 number will be different. Almost impossible to get the same MD5 number for two different content.
MD5 can be calculated for any text or file, but it needs some computer resources to do that. Usually calculation of MD5 for a large file can take up to 50% of processor resources. You can try and have some fun generating MD5 for any text, click here.
Great benefit of MD5 is that for content that is not changed returned MD5 number always will be the same. That's why when searching for some content of file enough to know it's "fingerprint" - MD5 number, then you can find any file with the same MD5 number and this guarantees that content of both files match 100%. If even one byte changes - the whole MD5 number changes.
For more information and technical details please click here.