l'md5 non è una criptazione, bensì un algoritmo.

In php ci sono delle specifiche librerie che permettono la criptazione (almeno mi sembra...)

Io utilizo md5 e quando rinvio la password la setto una nuova, che poi l'utente potrà rimodificare una volta loggato.