Olá, Guilherme. Tudo bem?
As senhas realmente não devem ser armazenadas em seu estado puro. Mas, ao invés de usar criptografia para senhas, o correto é usar Hashing. A criptografia permite que, tendo a senha criptografada, se faça a engenharia reversa usando o mesmo algoritmo. O hashing é uma via de mão única, então ter a senha "hasheada" não permite chegar à senha original. Além disso é possível aumentar o fator de trabalho necessário para chegar ao hash, aumentando a dificuldade de chegar ao resultado caso os computadores fiquem mais rápidos.
Quando o usuário insere a senha, o sistema deve recebê-la, passá-la por um algoritmo de hashing e armazenar. É bom sim que se use um salt, mas deve-se usar um salt diferente para cada vez que a senha for criada e armazenar esse salt aleatório.
Quando tiver que verificar se a senha que o usuário inseriu está correta, é só aplicar o mesmo algoritmo e o mesmo salt e verificar com o hash armazenado.
Espero ter ajudado. Se tiver alguma dúvida, é só dizer.