MD5 היא פונקציית HASH (גיבוב) חד-כיוונית שמצמידה מספר כלשהוא בן 128 ביט לכל רצף ביטים שמועבר לה.
אז אחרי הממבו-ג'מבו המתמטי, זה אומר בגדול שבהנתן איזשהוא קלט (ייוצג ב-#C ע'י מערך של בתים, כלומר []byte) תקבל חזרה מ-MD5 גם []byte שמייצג את הפלט של הפונקציה. מה שמייחד את MD5 ופוקציות דומות (SHA1, SHA256 וכד') זה העובדה שקשה מאוד (אם כי לא בלתי אפשרי) למצוא שני קלטים שונים שיתנו את אותו פלט. כך שאם תוצאת MD5 היא זהה לשני קבצים בינארים שונים - סיכוי יותר מסביר שהקבצים זהים.
כמובן שזה הרבה נפנופי ידיים. WIKIPEDIA מסביר הרבה יותר לעומק.