Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Crypt-Kennwort bei ODBC bzw. ADO-Zugriff (https://www.delphipraxis.net/75662-crypt-kennwort-bei-odbc-bzw-ado-zugriff.html)

Sausemann 23. Aug 2006 08:40

Datenbank: Sybase • Version: 9 • Zugriff über: ODBC/ADO

Crypt-Kennwort bei ODBC bzw. ADO-Zugriff
 
Hallo,
ich habe ein kleines Problem mit dem ODBC-Zugriff auf eine Datenbank und hoffe mir kann jemand hier weiterhelfen.
In der Sybase-DB werden die Benutzer in einer Tabelle mit den entsprechenden Kennwörtern gespeichert, diese jedoch logischer Weise nicht in Klartext, sondern Codiert.
Wenn ich bei dem ODBC-Modul( in Windows) den Benutzername und das codierte Kennwort angebe, habe ich auch Zugriff.
Da ich dem Benutzer meiner Software die Möglichkeit geben möchte den Benutzername und das Kennwort (in Klartext) anugeben, benötige ich den Algorithmus für diese Prozedur, und da komme ich einfach nicht weiter.
Die Codierung sieht aus wie IDEA oder DES, da ich hier aber kaum Ahnung habe bin ich mir nicht sicher. Ich weiß, daß man für diese Verschlüsselungsmethoden einen Key benötigt, den ich aber nicht finden kann (oder es gibt keinen :shock: )
Hier mal zwei Klartext-Kennwörter und die gecrypten als Beispiel:
Schatz -> c633da5865b88f61
jensjens -> f6c416cfab811245b66ed4fd3294563c

Ich hoffe mir kann jemand weiter helfen und mein Unwissen mit ein paar Hilfen und/oder Denkanstößen auf die Sprünge helfen, da ich von Kryptographie so gut wie keine Ahnung habe :roteyes:

Sausemann 24. Aug 2006 10:15

Re: Crypt-Kennwort bei ODBC bzw. ADO-Zugriff
 
Hallo nochmal ...
kann mir denn keiner weiterhelfen??? :wall:
Brauche ja nicht unbedingt eine Komplettlösung, da ich es ja selbst kapieren möchte

Danke
Sausemann

shmia 24. Aug 2006 10:34

Re: Crypt-Kennwort bei ODBC bzw. ADO-Zugriff
 
Hallo erstmal.
Deine Frage scheint mir sehr SyBase-spezifisch zu sein.
Wenn ich das mal mit anderen Datenbanken vergleichen darf:
1.) das Passwort wird i.d.Regel mit einem One-Way Algorithmus verschlüsselt.
Wenn man also das verschlüsselte Passwort hat, kann man nicht wieder zurückrechnen.
Nicht mal der Administrator kann das Passwort herausfinden; er kann höchstens ein neues Passwort vergeben.

2.) Beim Öffnen einer ADO- oder ODBC-Verbindung gibt man User und Passwort im Klartext an:
Delphi-Quellcode:
ADOconnection1.Open('User4711', 'geheim');
// die Anmeldung erfolgt "still"
Würde man stattdessen schreiben:
Delphi-Quellcode:
ADOConnection1.LoginPrompt := True;
ADOConnection1.Connected := True;
würde die VCL ein kleines Login-formular zeigen, in das der Benutzer seinen User & PW eingeben muss.

3.) bei der Anmeldung verschlüsselt die Datenbank das Passwort und vergleicht das mit dem gespeicherten,
verschlüsselten Passwort

4.) wenn im ConnectionString das Passwort gespeichert ist, dann brauchst du in deiner Anwendung nur dafür zu sorgen, dass das Login-Formular nicht angezeigt wird.
vielleicht ist das dein Problem...

Jelly 24. Aug 2006 10:46

Re: Crypt-Kennwort bei ODBC bzw. ADO-Zugriff
 
Ich denke, Ihr geht das Problem von der falschen Seite an... Ohne jetzt Sybase zu kennen, bin ich mir aber sicher, dass es auch dort direkt eine Benutzerverwaltung gibt, sprich, du definierst die User direkt in Sybase... Und mit diesen Daten lässt Du deine Benutzer sich in der Datenbank einloggen... Ein ganzes Usermanagement nachzubauen ist demnach nicht nötig.

Sausemann 24. Aug 2006 12:22

Re: Crypt-Kennwort bei ODBC bzw. ADO-Zugriff
 
Danke erstmal Jelly & shmia

Zitat:

Ich denke, Ihr geht das Problem von der falschen Seite an... Ohne jetzt Sybase zu kennen, bin ich mir aber sicher, dass es auch dort direkt eine Benutzerverwaltung gibt, sprich, du definierst die User direkt in Sybase... Und mit diesen Daten lässt Du deine Benutzer sich in der Datenbank einloggen... Ein ganzes Usermanagement nachzubauen ist demnach nicht nötig.
Der User soll ja auch "nur" seine Zugangsdaten angeben(Benutzername und Passwort)
Zitat:

das Passwort wird i.d.Regel mit einem One-Way Algorithmus verschlüsselt.
Zitat:

Beim Öffnen einer ADO- oder ODBC-Verbindung gibt man User und Passwort im Klartext
schön wärs :zwinker:
als Beispiel:
Delphi-Quellcode:
 userdb:='db1'; //
 username:='user1';
 userpwd:='klartextkennwort';
 DBCon.Close;
 constr:='Provider=ASAProv.70;Persist Security Info=True'+
         ';Data Source='+userdb+
         ';User ID='+username+
         ';Mask Password=False;Password="'+userpwd+'"';
 DBCon.ConnectionString:=constr;
 DBCon.Open;
auch wenn ich als Variable 'Mask Password=True' angebe, bekomme ich keine Verbindung aufgebaut ...
nur wenn ich das userpwd codiert angebe, bekomme ich eine Verbindung.

Zitat:

das Passwort wird i.d.Regel mit einem One-Way Algorithmus verschlüsselt.
da der Benutzer das codierte Kennwort ja nicht kennt, aber zur Identifizierung sein Klartextkennwort benötigt, bräuchte ich ja auch nur den Algorithmus um das angegebene Kennwort zu crypten. Jedoch genau da hänge ich ...

Jelly 24. Aug 2006 12:29

Re: Crypt-Kennwort bei ODBC bzw. ADO-Zugriff
 
Zitat:

Zitat von Sausemann
Der User soll ja auch "nur" seine Zugangsdaten angeben(Benutzername und Passwort)

Ganz genau. Und der Datenbankserver soll damit versuchen, eine Verbindung aufzubauen. Klappts, waren Username und Passwort korrekt, ansonsten nicht.

Was interessiert dich da mehr :gruebel:

Sausemann 24. Aug 2006 12:35

Re: Crypt-Kennwort bei ODBC bzw. ADO-Zugriff
 
Zitat:

Zitat von Jelly
Ganz genau. Und der Datenbankserver soll damit versuchen, eine Verbindung aufzubauen. Klappts, waren Username und Passwort korrekt, ansonsten nicht.

Was interessiert dich da mehr :gruebel:

Aber der DB-Server sagt erst ok, wenn ich das codierte Passwort angebe ... oder kennst Du dein codiertes Passwort welches in diesem Forum hinterlegt ist, und wenn ja, gibts du dieses beim login ein??? :lol:

Sausemann 24. Aug 2006 12:38

Re: Crypt-Kennwort bei ODBC bzw. ADO-Zugriff
 
Nachtrag:
Zitat:

Zitat von Sausemann
Delphi-Quellcode:
 userdb:='db1'; //
 username:='user1';
 userpwd:='klartextkennwort';

natürlich waren die "festen" Variablen nur ein Beispiel!
Der Benutzer soll diese natürlich in einem Formular angeben. :zwinker:

Jelly 24. Aug 2006 12:41

Re: Crypt-Kennwort bei ODBC bzw. ADO-Zugriff
 
Zitat:

Zitat von Sausemann
Aber der DB-Server sagt erst ok, wenn ich das codierte Passwort angebe ...

Das ist mir aber ein neuer Gesichtspunkt. Aber wie gesagt, ich kenn Sybase nicht.

Und Du nutzt auch wirklich die DB Server interne Benutzerverwaltung ?

Sausemann 24. Aug 2006 13:01

Re: Crypt-Kennwort bei ODBC bzw. ADO-Zugriff
 
Zitat:

Zitat von Jelly
Und Du nutzt auch wirklich die DB Server interne Benutzerverwaltung ?

sonst hätte ich wohl keine Fehlermeldung, wenn die Benutzerdaten nicht stimmen, oder liege ich da falsch??? :gruebel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:58 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