Meine Desktop-Anwendung fragt einen Benutzer nach Proxy-Server-Anmeldeinformationen, um ihn später zu verwenden. Aber was ist der beste Weg, diese sicheren Informationen für die weitere Verwendung zu speichern?Wie speichern Sie am besten sichere Informationen für die weitere Verwendung?
Antwort
In Windows können Sie CryptProtectData Funktion verwenden, um Ihre Daten mit Konto Passwort zu verschlüsseln, dann speichern Sie die verschlüsselten Daten in der Registrierung oder in der Konfigurationsdatei. Auf diese Weise müssen Sie nicht nach einem Passwort fragen.
Fragen Sie den Benutzer nach Master-Passwort und verschlüsseln Sie alle Zugangsdaten und andere Informationen zu diesem Benutzer mit diesem Passwort. Fordern Sie dieses Passwort einmal an, wenn diese Daten zum ersten Mal angefordert werden (genau wie FireFox mit Ihrer Site-Anmeldung/Ihren Pässen).
Wenn Sie das System ohne Master-Passwort vom Benutzer erstellen möchten, haben Sie eine unsichere, weil Sie Benutzerdaten mit einem Schlüssel verschlüsseln müssen, der in Ihrer Anwendung gespeichert wird, die wiederum sein kann Reverse-Engineering und der Schlüssel kann extrahiert werden.
Weiter zu Eugens Kommentar, können Sie auf Gnome-basierten Systemen wie Ubuntu GNOME Keyring verwenden, um die Informationen verschlüsselt zu halten. Auf KDE können Sie KWallet verwenden, und auf Mac OS X können Sie Keychain verwenden.
Ich würde auf jeden Fall hart auf die Verwendung dieser Betriebssystem-Funktionen schauen, anstatt meine eigenen zu schreiben. Leider haben sie unterschiedliche Schnittstellen, aber die API, die Sie verwenden müssen, ist nicht sehr kompliziert.
- 1. Wie speichern Sie gruppierte Schlüsselwertpaare in einer Datei am besten?
- 2. Wie speichern Sie App-Einstellungen am besten? (MVC)
- 3. Wie speichern Sie XML-Daten am besten auf SQL Server?
- 4. Wie implementiert man die Versionskontrolle für die Webentwicklung am besten?
- 5. Wie formatieren Sie Nachrichten am besten für Warteschlangen?
- 6. Wie speichern Sie die Benutzereinstellungen für eine .NET-Anwendung am besten?
- 7. Wie sorge ich am besten für die Speicherung historischer Daten?
- 8. Wie speichern Sie die Konfigurationseinstellungen am besten in Google App Engine?
- 9. Wie organisieren Sie am besten mehrere Teilansichten?
- 10. Wie Sie die Objektbeziehungen in LinqToSql am besten zuweisen
- 11. Wie erhalten Sie die am besten aus einer anderen Tabelle?
- 12. Weitere Informationen über die Datenbank finden
- 13. Sie benötigen weitere Informationen logstash über
- 14. Wie speichern Sie die globalen Anwendungseinstellungen in einer Rails-Anwendung am besten?
- 15. Unbehandelte Ausnahme erhalten Sie weitere Informationen
- 16. Wie kann die Clientsitzung am besten ablaufen?
- 17. Blocking Queue - Wünschen Sie weitere Informationen
- 18. Wie erfassen und protokollieren Sie die scp-Ausgabe am besten?
- 19. Wie man am besten zum Speichern von Spielkonfigurationsvariablen in Java
- 20. Wie können Sommerzeitregeln am besten dargestellt werden?
- 21. Wie speichern Sie die Benutzeroberflächeneinstellungen in der Sitecore-Anwendung am besten?
- 22. Wie am besten einzurichten core.clj
- 23. Speichern Sie Informationen mit Sitzungsvariablen
- 24. Wie weitere Informationen über Java-Einschränkungen
- 25. Weitere Informationen zu Search Vorschläge
- 26. Wie berechnet man am besten die Summe einer Objekteigenschaft?
- 27. Wie speichern Sie den Benutzernamen und das Passwort am besten auf dem iPhone?
- 28. Verstecktes Feld, sichere Verwendung?
- 29. Wie sichert man am besten eine Datenbankverbindungszeichenfolge?
- 30. Wie testen Sie am besten eine Mutex-Implementierung?