Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   UNIX: crypt (https://www.delphipraxis.net/1565-unix-crypt.html)

sakura 9. Dez 2002 15:19


UNIX: crypt
 
Hi,

wer hat von Euch Information (speziell: Quellcodes), welche den UNIX Crypt Befehl für DES genauer erklärt. Ich habe schon lange danach gesucht und bin bis jetzt erfolglos.

Kurzer Hintergrund:Einer unserer Kunden übergibt uns die Community seiner Webseite. Bis jetzt wurden alle Passwörter der Mitlgieder (ung. 150,000) mit dem besagten Algorithmus "one-way" codiert. Wir wollen jetzt bei einer erneuten Anmeldung überprüfen, ob der User das Passwort richtig eingegeben hat. Dazu müssen wir dieses entsprechend codieren und die Codes miteinander vergleichen.

Danke, ...:cat:...

CalganX 9. Dez 2002 15:56

Das Problem: es gibt keinerlei Möglichkeiten diesen Befehl rückgängig zu machen!!!

Chris

Chewie 9. Dez 2002 16:05

Zitat:

Zitat von Chakotay1308
Das Problem: es gibt keinerlei Möglichkeiten diesen Befehl rückgängig zu machen!!!

Ein Problem ist das nicht. sakura braucht ja den Algorithmus, um die Passwörter zu verschlüsseln und dann diesen kryptischen String mit dem in der Datenbank gespeicherten zu vergleichen. Eine entschlüsselung des Passworts ist hier nicht nötig.

CalganX 9. Dez 2002 16:09

Also unter PHP heißt der Befehl auch crypt. Wenn du sowas suchst. Aber wenn du wirklich den Algorithmus suchst. Dann kann ich dir auch nicht helfen. Aber ggf. ist es ja möglich, dass es genau diesen Befehl in den CLX-Units gibt (CLX ^= Linux ^= UNIX [^= = ungefähr])

Chris

RomanK 9. Dez 2002 16:16

Also ich hab einfach mal gegoogelt(Crypt +Unix +Delphi)und bin dabei unteranderem auf das gestoßen:
http://www.comsoltech.com/products/c...tiveunixcrypt/
ist wohl nicht umsonst so wie ich das sehe.

Hast du mal geschaut ob Komponenten bei Torry o.ä. den Quelltext enthalten. So wie ich das sehe gibt es ja sehr viele die DES unterstützen.

Der Quellcode dürfte doch dann dem entsprechen was du suchst.

sakura 9. Dez 2002 16:29

@FuckRacism

Die Komponente wird es im Notfall werden, wenn wir nicht einen entsprechenden Quelltext zusammenbekommen - der Kunde muss es am Ende ja zahlen, die Entwicklerlizenz :D

Lieber wäre mir jedoch eine nicht-ActiveX basierte Lösung.

@Chakotay1308

Wer liest ist etwas im Vorteil - das der Befehl in UNIX,LINUX crypt heisst, dass weiss ich auch - steht ja oft genug da. Dass es nicht rückgängig geht weiss ich auch - ist ja "one-way". Alles zusammen, ich habe ja schliesslich geschrieben, dass ich die Ergebnisse vergleichen will!

CalganX 9. Dez 2002 17:55

Zitat:

Zitat von sakura
@Chakotay1308

Wer liest ist etwas im Vorteil - das der Befehl in UNIX,LINUX crypt heisst, dass weiss ich auch - steht ja oft genug da. Dass es nicht rückgängig geht weiss ich auch - ist ja "one-way". Alles zusammen, ich habe ja schliesslich geschrieben, dass ich die Ergebnisse vergleichen will!

Weise, Worte!!! :mrgreen:
Naja, zum Thema: Sorry, habe dich beim schreiben des Aritkels am Anfang falsch verstanden...

Chris

Motzi 10. Dez 2002 08:20

Also falls der UNIX/LINUX Befehl "crypt" wirklich dem normalen DES entspricht würde ich das DEC (Delphi Encryption Compendium) von Hagen Reddmann empfehlen - das ist free, nicht ActiveX basierend, kommt mit Source und ist nach meinem Wissensstand das besten Krypto-Package für Delphi überhaupt! Finden tut man das DEC so ziemlich überall.. zB auf Torry!

sakura 10. Dez 2002 10:26

Hi Motzi,

Zitat:

Zitat von Motzi
Also falls der UNIX/LINUX Befehl "crypt" wirklich dem normalen DES entspricht würde ich das DEC (Delphi Encryption Compendium) von Hagen Reddmann empfehlen

Das tut es auch, ja, aber der Output entspricht keinem der Outputs welche durch das DES mitgeliefert werden :( Ansonsten habe ich die Kombinationen auch schon durch. Weiteres Problem an der Stelle ist, das es nicht klar ist, wie die zwei extra "Seed-Character" verarbeitet werden.

fiasko 10. Dez 2002 10:51

Hallo,

Zitat:

Zitat von Chakotay1308
Das Problem: es gibt keinerlei Möglichkeiten diesen Befehl rückgängig zu machen!!!

also wenn die Passwörter wirklich mit DES behandelt wurden, kann man sie
wieder entschlüsseln. DES ist KEINE Einwegfunktion. Ich bin mir nicht sicher,
aber wenn du das Linux (Unix sollte das gleich nehmen) crypt meinst welches
in C so deklariert ist:

char *crypt(const char *key, const char *salt);

brauchst du eigentlich nur sowas machen wie (in Delphi):

if crypt('Passwort',alterHASH)=alterHASH then
// richtig
else
// falsch

Eine Unit mit Crypt für Delphi müßte ich auch noch irgendwo rumliegen haben, wenn
es das ist was du brauchst.
Man sollte allerdings crypt nicht mehr verwenden, besser ist man nimmt
MD5 oder SHA1 als Hash Funktionen.


Thomas



Oh, muß gerade einen Fehler eingestehen, im Manual zu crypt steht:

By taking the lowest 7 bit of each character of the key, a 56-bit key is obtained.
...
The DES algorithm itself has a few quirks which make the...

Die nehmen also doch DES (was ja eigentlich eine symetrische Verschlüsselung ist),
der Rest meiner Antwort stimmt aber. Für die Windoze User gibts das Manual
auch zahlreich im Netz, z.B. unter http://www.unik.no/cgi-bin/man?crypt


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