Sto scrivendo un client (di terze parti) per un gioco, e una caratteristica che vorrei che questo client avesse era la possibilità di accedere automaticamente al gioco utilizzando le credenziali immesse precedentemente. Le credenziali consistono semplicemente in un nome utente e una password alfanumerici. Un modo ingenuo per implementare questo è memorizzare un file contenente il nome utente e la password sul computer locale. Tuttavia, questo non è sicuro per una serie di ovvi motivi. Uno in particolare è che questo client supporta i plugin che gli altri sviluppatori possono scrivere. Questo apre la porta a uno sviluppatore malintenzionato per leggere il contenuto del file, compromettendo efficacemente l'account.
Ho anche considerato l'idea di usare un codice per crittografare (e decodificare) la password, ma non ero sicuro di quale fosse un modo sicuro per seminare il codice. Un'idea che avevo era la creazione di un file generato in modo casuale e l'utilizzo di quello per seminare il codice e quindi utilizzare quel codice per accedere alla password. Tuttavia, ancora una volta, un plugin dannoso potrebbe semplicemente leggere quel file generato casualmente, seminare il proprio codice e quindi decodificare il contenuto del file di password.
Esiste un modo sicuro per archiviare e recuperare la password di un utente sul computer locale? Supponiamo che uno sviluppatore malintenzionato abbia pieno accesso al codice sorgente dell'applicazione e conosca esattamente quali algoritmi e tecniche vengono utilizzati.
Modifica: non ho accesso al server al quale il client si connette. La mia applicazione è fondamentalmente un "wrapper" per il client di gioco ufficiale che aggiunge funzionalità extra.