allora se gli md5 sono diversi ci sono due possibili spiegazioni:

1) nascono da due password diverse

2) udi del codice diverso per la generazione dell'md5 da registrare nel DB e quello che usi per il confronto nella verifica pwd...

escludendo il primo punto.. posta il codice con cui generi e memorizzi l'md5 nel db.. e quello con cui verifichi il controllo... basta che per sbaglio elabori una delle due stringhe in qualsiasi modo.. e l'md5 risulta molto diverso