Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Sicherheits-Tool ; Passwort speichern, ändern ... (https://www.delphipraxis.net/5354-sicherheits-tool-%3B-passwort-speichern-aendern.html)

Trouble_Maker 3. Jun 2003 12:18


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:
procedure TForm1.Button2Click(Sender: TObject);
var Passwort:string;
begin
Passwort := 'passwort';
timer2.enabled := true;

if edit1.text = Passwort
  then begin
so ... soweit so gut. Jetzt möchte ich aber, dass jeder Benutzer individuell das Passwort ändern kann! Jetzt zu meinen Fragen:

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

Motzi 3. Jun 2003 12:21

Passwort nie im Klartext, sondern als Hashwert speichern..! Was das is und wie das geht wurde hier schon mehrmals besprochen...

Phoenix 3. Jun 2003 12:38

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

Trouble_Maker 3. Jun 2003 12:46

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

Motzi 3. Jun 2003 12:50

Such mal nur nach "Hash"...

Phoenix 3. Jun 2003 12:51

Willst Du Hash, guckst Du da:

http://www.delphipraxis.net/internal...highlight=hash

Trouble_Maker 3. Jun 2003 16:12

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

Stanlay Hanks 3. Jun 2003 16:18

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?

Christian Seehase 3. Jun 2003 16:34

Moin Stanlay,

ein Hash Code ist eher wie eine Prüfsumme zu verstehen.

Stanlay Hanks 3. Jun 2003 17:02

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 16:41 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz