Vertrauliche Daten sicher speichern (lokal)

  • VB.NET
  • .NET 4.5

Es gibt 15 Antworten in diesem Thema. Der letzte Beitrag () ist von Fred.

    Vertrauliche Daten sicher speichern (lokal)

    Hallo,

    ich habe Ihr im Forum mehrmals gelesen, man solle Vertrauliche Daten wie Passwörter nicht im Code speichern. Stattdessen sol man bspw. mit der Hash-Funktion arbeiten.

    Wie speicher ich aber vertrauliche Daten ab, die ich später laden möchte und nicht mit eingegebenen Daten abgleichen will? Heißt konkret: Der Benutzer gibt bspw. seine Adresse und Telefonnummer ein. Dies möchte ich sicher speichern und wieder abrufen können.

    Ich speichere normalerweise lokal in My.Settings oder in einer Textdatei(*.txt) ab.

    Vielen Dank und viele Grüße
    Fred
    @Fred Zum Beispiel so:
    Speichere das Passwort verschlüsselt ab.
    Gibt der Benutzer ein Passwort vor, wird es ebenfalls verschlüsselt und Du vergleichst die verschlüsselten Passwörter.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Vertraulich … wenn es darum geht, dass der Standarduser die Daten nicht irgendwo sieht, dann wandel sie mit dem XML Serializer in XML um, verschlüssele die Daten und schreib die in ne Textdatei. Der User würde nur Buchstabensalat sehen. Beim Laden decodieren und wieder von XML in Daten(objekt). Wobei der zwischenschritt mit dem XML nur dazu da ist, um nicht alles einzeln zu verschlüsseln. Außerdem würde man mit Einzelverschlüsselung rausbekommen können, wieviele Datensätze da rumschwirren und könnte gezielt welche löschen. Aber dann sind wir schon nicht mehr bei nem Standarduser.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.

    Fred schrieb:

    Aber wie mache ich das
    Vielleicht wie in Post #2 beschrieben.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Es kommt jetzt natürlich drauf an, was die Daten im Programm machen sollen. Wenn sie irgendwann für den Standarduser sichtbar werden, wozu dann die Heimlichtuerei? Wenn es nirgends sichtbar ist, wozu dann überhaupt speichern? Wenn sie benutzerabhängig sichtbar sind, dann verschlüsselt speichern und bei Bedarf entschlüsseln.
    Zum Thema Installation: Geht es um Telefonnummern oder doch eher um ne Seriennummer? Denn dann sind wir in ner ganz anderen Thematik.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.
    @VaporiZed Jou.
    @Fred Was für Daten fallen an?
    Wie viele Datensätze fallen an?
    Inwieweit ist der Rechner in ein Netzwerk eingebunden?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Fred schrieb:

    Das Passwort der Mailadresse
    Wir rufen dazu den EMail-Client auf, da ist diese Abfrage nicht erforderlich:

    VB.NET-Quellcode

    1. Process.Start("MailTo:a.b@c.de")
    das geht auch mit weiteren Informationen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Was hat das Mail-Passwort mit dem Feedbackbogen zu tun? Schicken die Leute die Mail etwa mit Deinen Mail-Zugangsdaten?!?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.
    Wie RfG schrieb: Das soll mal schön über den eigenen, nicht über Deinen Mailaccount laufen. Mit der von ihm beschriebenen Methode wird das Standardmailprogramm des Users geöffnet, sodass er eine Mail an Dich schickt, als Mail von ihm, nicht von Dir.

    btw: VaporiZed, nicht VapiroZed ;)
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.
    @Fred Wie sieht denn dieser Fragebogen aus?
    Format, Dateityp?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @Fred OK.
    Und wie soll der Inhalt dieserdrei Textfelder in die EMail komen?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!