l'algoritmo md5 permette di criptare delle stringhe, restituendo a sua volta una stringa alfanumerica di 16 (o 32?) caratteri. L'algoritmo è a una sola via, il che significa che una volta criptata la scritta non puoi più ricavare dalla stringa criptata quella originale.

A cosa serve? Beh gli usi che ne puoi fare sono i più molteplici (molti dei quali anche non "conformi" al motivo per cui è stato creato questo algoritmo):
- criptazione di password (essendo un algoritmo ad una sola via garantisce un livello di sicurezza piuttosto elevato
- ottenere sequenze di caratteri con una probabilità molto bassa di ottenere due stringhe uguali (ad esempio
$stringa1=md5(time());
sleep(2);
$stringa2=md5(time());
produrrà due stringhe diverse)
-ecc ecc...

Poi come dice anche piero.mac in molte occasioni è la necessità che ti suggerisce l'uso che puoi farne =)