MD5 (Message Digest Algorithm 5) on kryptografinen tiivistefunktio, joka ottaa syötteen (kuten tiedoston, salasanan tai viestin) ja tuottaa kiinteän kokoisen 128-bittisen tiivistearvon (yleensä 32-merkkisenä heksadesimaalilukuna).
Teknisesti MD5 ei ole salaus, koska se on yksisuuntainen prosessi – sitä ei voida helposti palauttaa alkuperäiseen syötteeseen.
Tietojen eheyden tarkistus: Varmista, että tiedostoja tai viestejä ei ole muutettu vertaamalla niiden MD5-tiivistettä ennen lähetystä ja sen jälkeen.
Salasanan tallennus (historiallisesti): Käytä hajautusarvoja salasanojen tallentamiseen tekstimuodossa (vaikka MD5:tä pidetään nykyään heikkona tähän tarkoitukseen).
Digitaaliset allekirjoitukset: Luo kompakteja, yksilöllisiä sormenjälkiä tiedoista vahvistusta varten.
Nopea käsittely: Luo hajautusarvoja nopeasti suurille tietomäärille.
Käytä ohjelmointikirjastoa tai -työkalua MD5-hajautuksen laskemiseen (esim. md5()-funktio Pythonissa, MessageDigest-luokka Javassa, System.Security.Cryptography.MD5 C#:ssa).
Välitä syöttötiedot (merkkijono, tiedosto tai binääri) MD5-funktiolle.
Tallenna tai vertaa tuloksena olevaa MD5-tiivistettä myöhempää varmennusta tai hakua varten.
Muista aina: MD5 ei ole turvallinen arkaluontoisille tietoturvatarpeille, kuten salasanasuojaukselle nykyään — vahvempia tiivisteitä, kuten SHA-256 tai bcrypt, suositellaan.
Kun tarkistetaan tiedostojen eheys latausten tai varmuuskopioiden jälkeen (esim. "MD5-tarkistussumma"-vertailut).
Kun luodaan yksilöllisiä tunnisteita ei-arkaluonteisille tiedoille (esim. välimuistimekanismit, ei-kriittiset tunnukset).
Kun käsitellään vanhoja järjestelmiä tai vanhempia sovelluksissa, joissa MD5 on edelleen odotettu muoto.
Kun nopeus on kriittistä eikä turvallisuus ole suuri huolenaihe.