e se non la ricorda più la password? Non potrà fare il login per cambiarla!

Se inserisce la mail per farsi mandare la propria pass (o la sua email la inserisce un malintenzionato) questa è in MD5 quindi per forza devi creare una pass temporanea e mandargli quella per farlo loggare e cambiarla. (in questo caso un malintenzionato invierebbe 10 password diverse alla mail del cliente ignaro)

Quindi se un malintenzionato vuole 'dar fastidio' all'utente sapendo la sua mail lo può fare... altrimenti non cripti le pass quando si registrano e potrai mandare solo l'attuale password per email e qualunque malintenzionato non farebbe altro che mandare più mail uguali all'utente

La soluzione piu conveniente secondo me è che quando si registrano gli utenti cripti la pass secondo un modo reversibile (magari con base64) così non sarà riconoscibile ad occhio se dovessi subire furto di database ma puoi sempre rimandarla all'utente che ne fa richiesta