Estoy trabajando en un cliente de correo electrónico para Windows, y para enviar correos electrónicos, mi aplicación necesita tener la dirección de correo electrónico y la contraseña de esa dirección de correo electrónico. Cuando el usuario da su contraseña, la almaceno encriptada. Al enviar un correo electrónico, paso la contraseña desencriptada. Pero hay un problema aquí: si solo cifro una contraseña, alguien puede descifrar fácilmente la contraseña si tiene la clave, y esta clave es fácil de obtener al descifrar mi aplicación y encontrar la clave. Pero tampoco puedo descifrar la contraseña porque necesito pasarla en texto sin formato y no quiero molestar a mis usuarios preguntándoles la contraseña cada vez que inicien mi aplicación.
Entonces, ¿cómo puedo almacenar la contraseña de forma segura sin hacerla hash?
Nota: He leído esta pregunta: Cómo mantener un usuario contraseñas, pero no puedo marcarlas , pero eso es para una aplicación web y tengo una aplicación de escritorio, así que no puedo usar un servidor.