Passwortschutz für Programm

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von Chefkoch.

    Passwortschutz für Programm

    hallo habe mal eine frage wie würden ihr es anstellen ich bin bei ein pw manager zu machen nach dem ersten start des programmes soll eine form kommen wo er ein password erstellen soll

    aber wenn er nächstmal startet soll die andere form kommen wo er sein password ein gibt was er beim ersten start gewählt hat .

    habt ihr eine einfache lösung ?

    LG

    Edit by Manschula: "kleine frage" ist kein(!) aussagekräftiger Titel --> geändert

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Manschula“ ()

    Das PW wird ja irgendwo gespeichert, also prüfst du ob das PW existiert, wenn nicht Form anzeigen wo man PW eingibt ansonsten die andere Form zeigen.

    Problem: wer weiß wo es gespeichert wird, kann das PW löschen und das Programm denkt es würde das erste Mal gestartet werden. Deswegen kein Globales PW setzten, sondern wenn man eine PW Datenbank anlegt, dann wird diese DB mit einem PW versehen. Wird diese DB geöffnet, wird das PW verlangt mit dem die DB verschlüsselt worden ist. Das ist die einzig richtige Lösung.
    Mach einfach ein My.Settings eintrag mit Firstload, du brauchst 2 Formen

    VB.NET-Quellcode

    1. Form1_Load
    2. If My.Settings.Firstload = True Then
    3. Me.Show
    4. Elseif My.Settings.Firstload = False Then
    5. Me.Hide
    6. Form2.Show
    7. End If
    8. Form1_Close
    9. My.Settings.Firstload = False
    10. My.Settings.Save()


    Eidt: Das Passowort kannst du auch in My.Settings Speichern

    SMarioMasterX schrieb:

    Eidt: Das Passowort kannst du auch in My.Settings Speichern

    Dodo schrieb:

    Problem: wer weiß wo es gespeichert wird, kann das PW löschen und das Programm denkt es würde das erste Mal gestartet werden.

    @SMarioMasterX: Settings sind hierfür ein sehr ungünstiger Ort.
    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!
    Zumal ich kein Passwort im Klartext ablegen würde. Benutz nen Hash. Ist nen Zweizeiler und aus dem gespeicherten Hash kann im Zweifelsfall keiner so einfach das Passwort rekonstruieren.
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    Als Hash ist es trotzdem kein Stück sicherer als im Klartext. Sobald das PW irgendwo auf der Platte abgelegt wird ist es mit der Sicherheit dahin, egal in welcher Form es gespeichert wird.

    Die einzig vernünftige Methode wurde von mir genannt, die Passwort Datenbank mit einer Verschlüsselung versehen zu der ein Key benötigt wird, ohne diesen Key (Passwort) kann niemand die Datei öffnen. In welcher Form du die Datenbank anlegst ist dabei völlig egal, ob es eine Text-, XML-Datei oder sonst was ist.

    Beispiel einer guten Verschlüsselungsart wäre hier z.B. AES.

    Literatur, Tutorial oder Beispiel?

    Dodo schrieb:

    Als Hash ist es trotzdem kein Stück sicherer als im Klartext. Sobald das PW irgendwo auf der Platte abgelegt wird ist es mit der Sicherheit dahin, egal in welcher Form es gespeichert wird.

    Die einzig vernünftige Methode wurde von mir genannt, die Passwort Datenbank mit einer Verschlüsselung versehen zu der ein Key benötigt wird, ohne diesen Key (Passwort) kann niemand die Datei öffnen. In welcher Form du die Datenbank anlegst ist dabei völlig egal, ob es eine Text-, XML-Datei oder sonst was ist.

    Beispiel einer guten Verschlüsselungsart wäre hier z.B. AES.
    Hallo Dodo,

    bin jetzt auch seit ein Paar Wochen mit dem Gedanken beschäftigt.
    Leider hab ich keine Ahnung. Ich weiß nur, dass man keine PWs als Klartext speichern soll im Code und auch keine Hashcodes machen sollen.

    Kannst du mir Literatur oder ein Tut oder so empfehlen, wo ich dieses AES- oder ein ähnlich sicheres Prinzip von Null an verstehen und nachvollziehen und anschließend anwenden kann?

    Gruß
    Chefkoch

    Edit: Auch jeder Andere kann gern einen Tip geben. Freue mich über jede Empfehlung.