MD5 (Message-Digest algorithm 5) er enkryptografiskhashfunktion med en 128-bit (16 bytes) hashværdi. MD5 blev udviklet afRonald Rivest i1991 som en efterfølger til den tidligereMD4. Målet med MD5 er at gøre det praktisk umuligt at generere et datasæt ud fra et hash, der blev dog i1996 fundet ikke-fatale svagheder i denne del af MD5-algoritmens funktion, hvorfor kryptografer siden har anbefalet brugen afSHA1-algoritmen i stedet. I2004 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 32hexadecimale cifre. Her er nogle eksempler påASCII-strenges tilsvarende MD5-hash:
MD5("") = D41D8CD98F00B204E9800998ECF8427EMD5("123456789") = 25F9E794323B453885F5181F1B624D0BMD5("Wikipedia") = 9C677286866AAD38F8E9B660F5411814
Selv den mindste ændring i teksten kan få hashen til at ændre sig markant, hvilket er karakteristisk af hashfunktioner:
MD5("Vikipedia") = A6B8F72941ABFCDD36372905DD408341