Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Senha para envio e recebimento de e-mail

Em tese todos as senhas armazenadas deveriam ser criptografadas e não sendo possível retornar para o seu texto puro, certo?

Porém, como faria isso em um client de e-mail ou uma ferramentas de e-mail? Fiz um cliente de e-mail com c# e a senha tem que ser passada em texto,

Nessa situação o mais correto é guardar a senha criptografado com o um salt?

1 resposta
solução!

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.