Wohin mit dem Passwort?
-
Hallo,
ich mal wieder mit ner Anfängerfrage.
Ich hab ein Programm geschrieben, welches erst nach einer Passwortabfrage starten soll. Das ist auch weiter kein Problem. Ich weiß nur nicht, wohin ich das Passwort schreiben soll. In die Regestry oder in die Datenbank? Ich weiß aber bei beiden nicht, wie ich den eingetragenen Wert "unlesbar" mache. Denn auch der Admin soll ja das Passwort nicht lesen können.
Wie macht ihr das?
Schon mal viele Dank für die Hilfe!
Gruß
-
Handelt es sich um ein lokales Programm, so ist die Sache nie sicher - die Anwendung muss ja von selbst an die Verifizierungsmöglichkeit rankommen, ergo müssen alle Informationen zur Entschlüsselung dem Programm beiliegen. Diese können auch von einem Menschen nachvollzogen werden.
-
Es ist ganz einfach: Du darfst das Passwort *nicht* speichern!
Sonst könnte man es ja auslesen...Fazit: Du musst einen Hash-Wert des Passwortes generieren und nur diesen Dir merken. Wenn Du jetzt die Benutzereingabe verifizieren willst generierst Du wieder den Hash-Wert (dann natürlich aus der Benutzereingabe) und vergleichst den Hash-Wert miteinander... stimmt er, so war es das richtige Passwort.
Wie Du nun den Hash-Wert speicherst, spielt eigentlich keine Rolle... so lange Du nur einen "sinnvollen und sicheren" Hash-Generator verwendest.
-
Ja super. DANKE!!!
-
Hier gibt es ein einfachen Hash-Wrapper, allerdings in C#:
http://www.obviex.com/samples/hash.aspx
-
Super. Danke. Damit werde ich mich mal beschäftigen. Für mein jetztiges Programm ist das nicht so überaus wichtig. Aber für die nächsten schon...
Jetzt habe ich mir selbst was gebastelt... So mit Substring, Zufallszahl usw...