AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Passwortabfrage mit Datenbank abgleichen
Thema durchsuchen
Ansicht
Themen-Optionen

Passwortabfrage mit Datenbank abgleichen

Ein Thema von Thieon · begonnen am 18. Mär 2016 · letzter Beitrag vom 22. Mär 2016
Antwort Antwort
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.458 Beiträge
 
Delphi 12 Athens
 
#1

AW: Passwortabfrage mit Datenbank abgleichen

  Alt 19. Mär 2016, 12:47
Moin...
[mein Senf am Rande]
... man speichert keine Passwörter im Klartext in der Datenbank sondern nur dessen Hash z.B. Damit geht auch kein Klartext über die Leitung.
[/mein Senf am Rande]
  Mit Zitat antworten Zitat
Thieon

Registriert seit: 18. Mär 2016
9 Beiträge
 
#2

AW: Passwortabfrage mit Datenbank abgleichen

  Alt 19. Mär 2016, 14:22
Wie kann ich den Ein Passwort als Hash speichern? Und meinst Du mit "über die Leitung" das Internet bzw, Netzwerk? Weil Das Programm soll lediglich lokal auf einer Maschine verwendet werden.

Moin...
[mein Senf am Rande]
... man speichert keine Passwörter im Klartext in der Datenbank sondern nur dessen Hash z.B. Damit geht auch kein Klartext über die Leitung.
[/mein Senf am Rande]
Danke für den Hinweis.

MfG

René
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.011 Beiträge
 
Delphi 2009 Professional
 
#3

AW: Passwortabfrage mit Datenbank abgleichen

  Alt 19. Mär 2016, 16:32
Wie kann ich den Ein Passwort als Hash speichern? Und meinst Du mit "über die Leitung" das Internet bzw, Netzwerk? Weil Das Programm soll lediglich lokal auf einer Maschine verwendet werden.
Auch wenn es eine lokale Datenbank ist, ist die Speicherung der Passwörter im Klartext unvorsichtig. Ein Grund: viele Benutzer verwenden aus Bequemlichkeit das gleiche Passwort auch an anderen (eventuell erheblich 'wertvolleren') Systemen. Damit hat ein Angreifer, der in den Besitz der Benutzernamen/Passwortkombination gelangt, ideale Voraussetzungen, um andernorts erfolgreiche Anmeldungen durchzuführen.

Es ist eine Grundregel: vertraue keiner Webseite (oder Anwendung), die dein Passwort im Klartext speichert. Firmen, die es dennoch tun, werden zum Beispiel unter http://plaintextoffenders.com/ genannt. Eine "Hall of Fame" ist das nicht
Michael Justin
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.458 Beiträge
 
Delphi 12 Athens
 
#4

AW: Passwortabfrage mit Datenbank abgleichen

  Alt 19. Mär 2016, 17:29
Moin...
Zitat:
Und meinst Du mit "über die Leitung" das Internet bzw, Netzwerk?
...ja das meinte ich. Wie aber schon gesagt gehört Klartext nie in egal welche Datenbank.
Zitat:
Wie kann ich den Ein Passwort als Hash speichern?
* man verwende die angehängte Unit (Freeware) Copyright © 2002 by Dimka Maslov
Delphi-Quellcode:
procedure TLogin.Login(aUserName, aPassword: string); // aPassword = Klartext direkt ohne Umwege aus dem Eingabeedit
var
  MD5Password: string; // Hash
begin
  MD5Password := MD5DigestToStr(MD5String(aPassword));
  aPassword := '';
// Pseudocode:
// Query... frage die Datenbank ob es einen Benutzer(aUserName) mit dem MD5Passwort gibt.
// !!! Werte immer als Parameter der Query mitgeben.
// Hat die Query eine Antwort (Resultmenge = 1) ist der Benutzer gültig
// fertsch...
// Mach was mit dem User
end;
Beim Speichern des neuen Paßwortes erzeugst du auch den MD5, setzt die Paßwortvariable auf '' und speicherst den MD5 ab. Mit obiger Methode hast du im Programm keinen Vergleich der Paßwörter. Dieser läuft quasi schon in der Datenbank. Wenn du im Programm vergleichen willst dann nur die Hashes.

PS: Das ist eine einfache Variante aber ausreichend. Sicherer geht es immer...
Angehängte Dateien
Dateityp: pas DelphiMD5.pas (13,3 KB, 14x aufgerufen)

Geändert von haentschman (19. Mär 2016 um 17:36 Uhr)
  Mit Zitat antworten Zitat
Thieon

Registriert seit: 18. Mär 2016
9 Beiträge
 
#5

AW: Passwortabfrage mit Datenbank abgleichen

  Alt 19. Mär 2016, 18:19
Erstmal möchte ich mich für deine Hilfe bedanken... und selbstverständlich auch bei allen anderen, denen ich noch nicht geantwortet habe... Aber leider hatte ich heute dafür keine Zeit, da ich den ganzen Tag auf einen blöden BOS Lehrgang bin. ...

* man verwende die angehängte Unit (Freeware) Copyright © 2002 by Dimka Maslov
Delphi-Quellcode:
procedure TLogin.Login(aUserName, aPassword: string); // aPassword = Klartext direkt ohne Umwege aus dem Eingabeedit
var
  MD5Password: string; // Hash
begin
  MD5Password := MD5DigestToStr(MD5String(aPassword));
  aPassword := '';
// Pseudocode:
// Query... frage die Datenbank ob es einen Benutzer(aUserName) mit dem MD5Passwort gibt.
// !!! Werte immer als Parameter der Query mitgeben.
// Hat die Query eine Antwort (Resultmenge = 1) ist der Benutzer gültig
// fertsch...
// Mach was mit dem User
end;
Beim Speichern des neuen Paßwortes erzeugst du auch den MD5, setzt die Paßwortvariable auf '' und speicherst den MD5 ab. Mit obiger Methode hast du im Programm keinen Vergleich der Paßwörter. Dieser läuft quasi schon in der Datenbank. Wenn du im Programm vergleichen willst dann nur die Hashes.

PS: Das ist eine einfache Variante aber ausreichend. Sicherer geht es immer...
Das sieht erstmal interessant aus, auch wenn ich es noch nicht so ganz verstanden habe aber ich werde mich morgen Abend mal daran setzten und versuchen den Code und die .pas Datei einzubinden und hoffentlich klappt es dann auch...

Aber eine Frage noch vorweg, muss das LoginFenster in der der Unit DelphiMD5 eingebaut werden oder wird die "procedure TLogin.Login..." in meiner eigentlichen Login Unit (in meinem Fall die Unit 1) mit dem Befehl "uses DelphiMD5;" automatisch abgearbeitet?

MfG und einen schönen rest Samstag

René

PS: Bitte denkt daran, ich bin erst seit ca. einer Woche mit dem Programmieren am Gange und zuvor hatte ich keinerlei Erfahrungen bzw. Kenntnisse im Bereich der Programmierung. Das einzige was ich bisher gemacht habe, ist die Homepage unseres Ortsvereins...

Geändert von Thieon (19. Mär 2016 um 18:21 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.458 Beiträge
 
Delphi 12 Athens
 
#6

AW: Passwortabfrage mit Datenbank abgleichen

  Alt 19. Mär 2016, 18:32
Wenn von deiner Seite die entsprechende Initiative zurückkommt helfen wir gern...
Zitat:
PS: Bitte denkt daran, ich bin erst seit ca. einer Woche mit dem Programmieren am Gange und zuvor hatte ich keinerlei Erfahrungen bzw. Kenntnisse im Bereich der Programmierung. Das einzige was ich bisher gemacht habe, ist die Homepage unseres Ortsvereins...
...das sind natürlich andere Voraussetzungen. Morgen früh drösel ich dir das etwas verständlicher auf. Unabhängig davon solltest du aber, bevor du richtig programmieren willst, den Delphi Crashkurs durcharbeiten.
http://www.delphi-treff.de/tutorials...phi-crashkurs/
  Mit Zitat antworten Zitat
Thieon

Registriert seit: 18. Mär 2016
9 Beiträge
 
#7

AW: Passwortabfrage mit Datenbank abgleichen

  Alt 19. Mär 2016, 18:42
...das sind natürlich andere Voraussetzungen. Morgen früh drösel ich dir das etwas verständlicher auf. Unabhängig davon solltest du aber, bevor du richtig programmieren willst, den Delphi Crashkurs durcharbeiten.
http://www.delphi-treff.de/tutorials...phi-crashkurs/
Danke für den Hinweis, ich werde mir das auch mal durchlesen... Ich habe untrer anderem auch das Buch BorlandDelphi 7 und gehe das Schritt für Schritt durch und ich hoffe mal, dass ich in der Uni auch entsprechend aufgeschlaut werde auch wenn es sich bei mir lediglich um eine Vertiefung im Bereich der Wirtschaftsinformatik handelt. Aber eins hat es gebracht, ich traue mich zumindest schon mal an das Thema ran, wo ich sonst immer dachte, das ich für das Programmieren zu blöd bin .

MfG


René
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:19 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