Eu armazeno o hash salgado equivalente da senha no banco de dados e nunca a senha em si, então sempre comparo o hash com o gerado do que o usuário passou.
É muito perigoso armazenar os dados literais da senha em qualquer lugar. Isso torna a recuperação impossível, mas quando alguém esquece ou perde uma senha, você pode executar algumas verificações e criar uma nova senha.