MD5 ialah fungsi hash kriptografi yang digunakan secara luar dengan nilai hash 128-bit. Pada standard internet (RFC 1321), MD5 telah dimanfaatkan secara bermacam-macam pada aplikasi keamanan dan MD5 juga umum digunakan untuk melakukan pengujian integritas sebuah file. MD5 adalah salah satu dari serangkaian algortima message digest yang didesain oleh Profesor Ronald Rivest dari MIT (Rivest, 1994).
Algoritma MD5 menerima sebuah input/pesan dengan panjang sebarang dan akan menghasilkan sebuah output dengan panjang tertentu, yaitu 128-bit, “fingerprint” atau “message digest” dari input. Secara komputasional, diduga sangat tidak mungkin untuk menghasilkan message digest yang sama dari dua pesan yang berbeda, ataupun mendapatkan pesan asli dari sebuah message digest. Algoritma MD5 dimaksudkan untuk aplikasi digital signature, dimana sebuah file besar “dikompres” secara terstruktur, sebelum dienkripsi dengan metode enkripsi yang ada, umumnya public-key cryptosystem seperti RSA. Algoritma MD5 didesain agar cepat pada komputer 32-bit. Selain itu, MD5 juga tidak memerlukan tabel substitusi yang besar sehingga algoritma ini dapat dikodekan secara ringkas.
Algoritma MD5 adalah pengembangan dari algoritma MD4. MD5 lebih lambat dari MD4, namun lebih “konservatif”dari segi desain. MD5 didesain karena MD4 dirasa sudah berada pada batas akan dapat dibobol dengan serangan cryptanalytic. MD5 mengorbankan sedikit kecepatan untuk keamanan yang jauh lebih baik. Banyak reviewer yang memberikan saran-saran terutama pada sisi optimisasi. Algoritma MD5 diberikan secara terbuka kepada publik untuk direview dan dapat juga diadopsi untuk dijadikan sebuah standar.