Sto lavorando su un client di posta elettronica per Windows e per inviare email, la mia applicazione deve avere l'indirizzo email e la password di tale indirizzo email. Quando l'utente fornisce la sua password, la memorizzo crittografata. Quando invio una email, passo la password decrittografata. Ma c'è un problema qui: se ho appena crittografato una password, qualcuno può facilmente decifrare la password se hanno la chiave e questa chiave è facile da ottenere quando si decompone la mia applicazione e si trova la chiave. Ma non posso anche cancellare la password perché devo passare la password in testo normale e non voglio annoiare i miei utenti chiedendo la password ogni volta che avviano la mia applicazione.
Quindi, come posso memorizzare la password in modo sicuro senza cancellarla?
Nota: ho letto questa domanda: Mantenere un utente le password, ma non le hash , ma è per un'applicazione web e ho un'applicazione desktop, quindi non posso usare un server.