![]() |
Sicherheits-Tool ; Passwort speichern, ändern ...
Hiho alle,
so, obwohl ich viel zu diesem Thema hier im Forum gefunden habe, eröffne ich trotzdem nochmal ein Thread um mein Problem direkt zu beschreiben: Also: Das Tool wird gestartet und man kann nichts mehr machen, bis man das richtige Passwort eingibt! Zum Testen habe ich in den Programmcode einfach das Passwort "passwort" genannt.
Code:
so ... soweit so gut. Jetzt möchte ich aber, dass jeder Benutzer individuell das Passwort ändern kann! Jetzt zu meinen Fragen:
procedure TForm1.Button2Click(Sender: TObject);
var Passwort:string; begin Passwort := 'passwort'; timer2.enabled := true; if edit1.text = Passwort then begin 1. in welche Datei soll ich denn das Passwort dann speichern. (*.ini-Datei wäre ja nicht angebracht, weil man diese zu leicht auslesen kann.) 2. wie speichere ich überhaupt ein Passwort ab, und ändere gleichzeitig so den Programmcode, dass das Passwort auf den beliebigen Wert umgeschrieben wird ?!? so ich hoffe ihr könnt mir helfen und versteht was ich von euch will ;-) danke schonmal im Vorraus Trouble_Maker |
Passwort nie im Klartext, sondern als Hashwert speichern..! Was das is und wie das geht wurde hier schon mehrmals besprochen...
|
Hi,
motzi hat vollkommen recht. Vor allem der Punkt zum Hashwert: Aus einem hash lässt sich das original-Passwort nicht mehr zurückrechnen. Eine .ini - Datei ist da vielleicht tatsächlich nicht der Richtige Ort (Ich würde das in der Registry ablegen), aber zum Erklären recht gut, da man die Registry mit der richtigen Komponente fast wie eine .ini - Datei ansprechen kann. Du legst eine Sektion an, z.B. [USER]. Darunter legst Du dann die Benutzernamen und die entsprechenden Passwörter (als Hash) ab: Das Passewort für den ersten User ist z.B. Natalia, das für den zweiten Olga: UserName1 = gh7632fr3; UserName2 = gfldkjf38; Somit kann man aus den Einträgen der Registry nicht mehr auf das Passwort schliessen. Bei der Verifizierung liest Du nun den Hashwert aus der Registry aus (passend zum eingegebenen User) und vergleichst: If ( myHashValue(edtPassword.Text) = RegHashValue ) then... Grüßle, Sebastian |
hiho
erstmal danke für die schnelle Antwort. Hmm.. habe hier mal nach dem Begriff "hashwert" gesucht. Aber nix passendes gefunden! Kann mir jemand erklären, wie ich diese Hashwerte einsetze ?!? ... Zu der Registry... ist eigentlich eine gute Idee ... besser als eine Datei, die ich wo abspeichern muss! Muss nur nochmal suchen, wie ich das anstellen soll ^^ - Es gibt keine Benutzernamen !!! Das Programm wird gestartet und nur mit dem richtigen Passwort kann man wieder auf den PC zugreifen! Von daher ist das mit dem Usernamen überflüssig! danke Trouble_Maker |
Such mal nur nach "Hash"...
|
|
ok danke erstmal für die Antworten.
Werde heute abend nochmal nachschauen! Jetzt ist es einfach zu warm, um sich konzentrieren zu können ^^ *schweissabwisch* ;-) cu Trouble_Maker |
Hallo. Jetz muss ich auf direkt mal fragen, weil ich mich da nich auskenne: Is ein Hash eine spezielle Verschlüsselungsmethode oder was..? Kann mir das wer erklähren?
|
Moin Stanlay,
ein Hash Code ist eher wie eine Prüfsumme zu verstehen. |
Aber wenn das sowas wie eine Prüfsumme is, dann kann man doch das nicht mehr in den Originalzustand entschlüsseln, oder?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz