MD5 (Message-Digest algorithm 5) er en kryptografisk hashfunktion med en 128-bit (16 bytes) hashværdi. MD5 blev udviklet af Ronald Rivest i 1991 som en efterfølger til den tidligere MD4. Målet med MD5 er at gøre det praktisk umuligt at generere et datasæt ud fra et hash, der blev dog i 1996 fundet ikke-fatale svagheder i denne del af MD5-algoritmens funktion, hvorfor kryptografer siden har anbefalet brugen af SHA1-algoritmen i stedet. I 2004 opdagedes yderligere mangler og fejl, hvorfor brugen af algoritmen til sikkerhedsformål har været omdiskuteret.
En 128-bit MD5-hash repræsenteres typisk som 32 hexadecimale cifre. Her er nogle eksempler på ASCII-strenges tilsvarende MD5-hash:
MD5("") = D41D8CD98F00B204E9800998ECF8427E MD5("123456789") = 25F9E794323B453885F5181F1B624D0B MD5("Wikipedia") = 9C677286866AAD38F8E9B660F5411814
Selv den mindste ændring i teksten kan få hashen til at ændre sig markant, hvilket er karakteristisk af hashfunktioner:
MD5("Vikipedia") = A6B8F72941ABFCDD36372905DD408341