AndreasN: Crypt VS (php´s) MD5

Hallo,

Ich stehe vor einem Problem, das ich nicht so einfach bewältigen kann:

Habe in einer Tabelle Passwörter, die mittels php + md5 verschlüsselt wurden. Jetzt brauche ich für eine Erweiterung das Passwort mit Crypt verschlüsselt. Gibt es die möglichkeit das MD5 generierte passwort so zu verschlüsseln, dass man es mit einem mit crypt verschlüsseltem wort vergleichen kann ?

Oder wenn das nicht möglich ist, evtl. eine andere Möglichkeit das ganze zu lösen ?

Bin für jeden Tipp dankbar
Vielen Dank schon im voraus
Gruss
Andreas

  1. Hallo Andreas,

    Habe in einer Tabelle Passwörter, die mittels php + md5 verschlüsselt wurden. Jetzt brauche ich für eine Erweiterung das Passwort mit Crypt verschlüsselt. Gibt es die möglichkeit das MD5 generierte passwort so zu verschlüsseln, dass man es mit einem mit crypt verschlüsseltem wort vergleichen kann ?

    Nein. Beides sind Einwegverschlüsselungen, die meines Wissens nicht ineinander umwandelbar sind. Es sei denn, diese Erweiterung verwendet eine spezielle Version von Crypt, die als Alternative den MD5-Algorithmus verwenden kann, dann kannst Du einfach nur 2 Zeichen vor das MD5-Verschlüsselte Passwort hängen. (welche das sind, weiß ich allerdings nicht mehr)

    Oder wenn das nicht möglich ist, evtl. eine andere Möglichkeit das ganze zu lösen ?

    Naja, Du könntest das Passwort 2x speichern, einmal als crypt, einmal als md5. Alle Benutzer müßten ihr Passwort dann halt einmal ändern, damit das ganze funktioniert. (schließlich brauchst Du ja die ganzen mit crypt verschlüsselten Passwörter auch noch, die sind nur durch das hinzufügen eines Feldes in Deiner Passwortdatenbank/Datei/etc. nicht automatisch vorhanden) Ganz auf crypt umzustellen ist nicht empfehlenswert, da die Standardversion von crypt nur 8 Stellen lange Passwörter kennt.

    Viele Grüße,
    Christian

    --
    Ich bin ein Bandbreitenverschwender. Meine Signatur tut mir leid. Ehrlich!
    1. Hallo Christian,

      genau das habe ich befürchtet und wollte es wenn möglich den Usern ersparen, aber ich denk mal da werde ich nicht drum herumkommen. Es ist allerdings gut zu wissen , dass es nicht geht dann brauche ich nämlich nicht mit suchen ;-)

      Ich danke Dir für die ausführliche Antwort :-)

      Grüsse

      Andreas

  2. Hiho,

    das einzige was mir einfällt ist den Usern etwas Arbeit zu ersparen indem du ne Zeit lang Zweigleisig fährst. Du lässt die User sich wie bisher normal einloggen, vergleichst dann ob das eingegebene Passwoert richtig ist. Wenn ja, kannst du ja das eingebene Passwort, das ja unverschlüsselt bei deinem Script ankommt, neu mit Crypt verschlüsseln und in einem extra feld der DB speichern. So kannst du dei ganze Verschlüsselung umstellen ohne das es ein User mitbekommt oder gar sein passwort mehrfach angeben muss...

    Grüsse

    Marc

  3. Moin!

    Habe in einer Tabelle Passwörter, die mittels php + md5 verschlüsselt wurden. Jetzt brauche ich für eine Erweiterung das Passwort mit Crypt verschlüsselt. Gibt es die möglichkeit das MD5 generierte passwort so zu verschlüsseln, dass man es mit einem mit crypt verschlüsseltem wort vergleichen kann ?

    Warum nimmst du nicht auch md5? Gegenüber crypt hat es den Vorteil, dass es die Passwortlänge nicht auf 8 Zeichen begrenzt (alles, was danach kommt, wird ignoriert) und dadurch erheblich schwieriger auszuhebeln ist beim Brute-Force.

    md5 ist keine Eigenheit von PHP, sondern ein Standard-Algorithmus, den man an vielen Stellen verwenden kann, beispielsweise auch in .htaccess-Authentifikation (der Apache versteht auch md5-Passwörter, sogar ganz hervorragend!).

    Wenn du die existierenden Passwörter nutzt, bleibt dir die ganze Problematik des "Passwort ändern" der User erspart. Und mal abgesehen davon: Eine Erweiterung ist keine Erweiterung, wenn sie mit dem Vorhandenen nicht klarkommt. :)

    - Sven Rautenberg

    --
    Signatur oder nicht Signatur - das ist hier die Frage!