Cara existem N algoritimos de criptografia, criptografia homomorfica, tabela hash, entre outros, não é comum que o próprio sistema tenha acesso as senhas de seus usuarios, até por questões de privacidade e afins, hoje todos os sistemas de senhas que eu já vi ou são feitos utilizando bcrypt ou outra tecnica que utiliza de comparações de padrões de geração do hash criado a partir dos caracteres da senha, para recuperação utiliza-se um email, mas mesmo assim não é recuperada a senha e sim é gerado uma nova senha. o que utilizam agora é o 2FA, por exemplo o itau utiliza seu sistema de token, a senha não é criptografada fica em um estado conhecido e com o sistema de tokens ela é exibida, mas o sistema propriamente dito não sabe quais caracteres a senha possui, pq somente é exibido a partir da interação 2FA do usuario. isso ao meu ver é o mais seguro no seu caso utilizar de um sistema 2FA como entrada do usuario. pq hoje os algoritimos de criptografia mais comuns fazem apenas a comparação de hash, eles não sabem como a senha é armazenada, já que armazenam o próprio hash. caso não sejam senhas pertinentes a dados sensiveis, você pode utilizar uma lógica de criptografia transposicional por exemplo onde dependa de uma chave gerada aleatóriamente, mas ai o usuario tem a responsabilidade de armazenar e cuidar desta chave. Não é o mais seguro pq muitos bruteforces já quebram uma criptografia transposicional.