Sono d'accordo con il commento di Mike Scott che è meglio usare qualcosa che sia già open-source che ha attraversato tutta la ricerca e così via. Se stai facendo il progetto per l'apprendimento e l'utilizzo personale, inizia con nozioni di base come:
- Se supporti gli appunti, non dimenticare di cancellarlo durante l'applicazione chiusa o dopo un periodo di tempo predefinito.
- Non lasciare il testo in memoria dopo il suo utilizzo
- Fai una buona quantità di ricerche sulla crittografia per il tuo database e applica una buona politica sulla password
- Supporta i file chiave per un livello di sicurezza più elevato
- Non memorizzare informazioni riservate come testo normale sul disco
- Non supportare alcuna API relativa alla rete o assicurati di convalidare tutti i buffer per evitare overflow del buffer remoto.
Potresti passare molto più al malware indirizzando il tuo software usando API come FindWindow per leggere le stringhe dall'applicazione e l'iniezione di codice usando CreateRemoteThread, ma non sono sicuro di quanto sia complessa la protezione della password per essere stata rubata tramite malware.
Ti consiglio di consultare il codice di un gestore di password affidabile che è open-source come faranno per il precedente e altro.
So che questa lista non copre tutto, ma spero che sia un buon punto di partenza per te.