tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
188
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von dwex
    dwex dwex ist offline Mitglied Platin
    Registriert seit
    Apr 2005
    Ort
    Landshut (Niederbayern)
    Beiträge
    695
    Hallo Leute,

    stehe vor einem Problem das ich nicht vermag selbst zu lösen.

    Also ich habe eine Datenbank in der stehen Benutzername und Passwort.
    Es gab/gibt ein Script welches aus einem TXT-File diese Daten ausgelesen und dann in die MySQL-Datenbank geschrieben hat.
    Im Script wurde die Funktion crypt() (ohne Salt) für das Passwort verwendet.

    Der ganze Login ist jetzt zwei Jahre über mysql_auth (Apache-Modul) gelaufen und hat funktioniert.
    Jetzt steht mysql_auth für Apache2 nicht mehr zur Verfügung und ich soll das ganze auf einen PHP-Login umschreiben.

    Leider kann ich den von mir aus dem eingegebenen Passwort erstellten Crypt-Schlüssel nicht mit dem in der DB gespeicherten Schlüssel vergleichen da mir Crypt immer wieder einen anderen Schlüssel für das eingegebene Passwort generiert.

    Hat jemand eine Idee was man machen könnte damit das funktioniert.

    Vielen Dank im Voraus!
     
    Ich würde mich über die Bewertung meiner Beiträge mit Kurzkommentar sehr freuen!

    Die "dumme Frage" ist gewöhnlich das erste Anzeichen einer völlig neuen Entwicklung!
    -------------------
    Es ist immer Zeit etwas zu verändern ....
    .... das alles so bleibt wie es ist!

    -------------------
    Homepage Landshut
    -------------------
    /voodoo.css
    #meinFeind {position: absolute; bottom: -6ft;}

  2. #2
    simste simste ist offline Mitglied Bronze
    Registriert seit
    Aug 2007
    Beiträge
    33
    Hallo,

    Du kannst statt crypt() auch md5() verwenden. Das gibt immer den gleichen Schlüssel für das gleiche Passwort aus.
    Hoffe, das hilft dir weiter.
     

  3. #3
    Avatar von dwex
    dwex dwex ist offline Mitglied Platin
    Registriert seit
    Apr 2005
    Ort
    Landshut (Niederbayern)
    Beiträge
    695
    Ne simste - das hilft nicht weiter.

    Mein Problem ist das die Passwörter bereits mit crypt "verschlüsselt" wurden - ich also keine Passwörter im "Realformat" habe. Auch kann ich die Ursprungspasswörter nicht einfach wieder in die DB schreiben da ich ja sonst sämtliche Passwortänderungen der User überschreiben würde.

    Ich muss also irgendwie mit den Schlüsseln aus der Datenbank klar kommen.

    Ich habe jetzt aber nach einigem Überlegen eine Lösung für mein Problem gefunden und zwar folgendes.

    Man nehme an, dass das Passwort 123456 und z.B. über crypt der "Schlüssel" $1$dGPiKp7/$m7plo/VJpIJA5yCfkChCh0 rausgekommen ist.

    Jetzt lese ich das gecryptete Passwort aus der DB aus welches zum User gehört. Dann nehme ich die ersten 12 Zeichen (den Salt) raus und prüfe mit crypt("123456", "$1$dGPiKp7/$") ob es den gleichen String ausgibt wie in der DB steht.

    Also (ungetestet):
    PHP-Code:
    $passwort_salt substr($passwort_aus_DB,0,12)
    if(
    crypt($passwort_aus_benutzereingabe$passwort_salt) === $passwort_aus_DB) {
         echo 
    "Passwort richtig";
    } else {
         echo 
    "Passwort falsch";

    Und schon funktioniert es!
    Geändert von dwex (12.01.09 um 19:58 Uhr)
     
    Ich würde mich über die Bewertung meiner Beiträge mit Kurzkommentar sehr freuen!

    Die "dumme Frage" ist gewöhnlich das erste Anzeichen einer völlig neuen Entwicklung!
    -------------------
    Es ist immer Zeit etwas zu verändern ....
    .... das alles so bleibt wie es ist!

    -------------------
    Homepage Landshut
    -------------------
    /voodoo.css
    #meinFeind {position: absolute; bottom: -6ft;}

Ähnliche Themen

  1. Md5 -> Crypt(md5)
    Von Sith im Forum PHP
    Antworten: 6
    Letzter Beitrag: 02.08.10, 21:47
  2. Crypt Script
    Von FireFart im Forum PHP
    Antworten: 9
    Letzter Beitrag: 31.10.03, 16:43
  3. Crypt
    Von ExAByte im Forum PHP
    Antworten: 5
    Letzter Beitrag: 03.03.03, 18:22
  4. crypt()
    Von js-mueller im Forum PHP
    Antworten: 15
    Letzter Beitrag: 06.09.02, 14:53
  5. crypt()
    Von Franz im Forum PHP
    Antworten: 1
    Letzter Beitrag: 23.12.01, 00:47