dwex
Erfahrenes Mitglied
Hallo Leute,
ich mache mit der Funktion crypt() eine "Passwortverschlüsselung" für eine MySQL-Tabelle.
Das ganze hat den Sinn mit dem Apache-Modul für .htacces über MySQL eben auf diese zuzugreifen.
Das ganze funktioniert auch bestens.
Jetzt möchte ich jedoch das man nach dem Login sein Passwort auch ändern kann - auch das ist kein Problem und läuft schon.
So nun zu meinem Problem.
Ich möchte jetzt, dass wenn man sein Passwort ändert, auch das alte Passwort eingeben muss - damit niemand unberechtigt das Passwort ändert wenn man eingeloggt ist.
Wenn ich das jedoch mache und den für das alte Passwort eigegebenen String mit crypt() umwandle und dann in der MySQL-DB auf übereinstimmung prüfe bekomme ich immer false zurück geliefert. Ich musste dann feststellen, dass wenn der String für das Passwort immer gleich ist das von crypt() zurück gelieferte Ergebnis immer anders ist.
So meine Fragen dazu:
1. Warum ist das Ergbinis eigentlich immer anders (Hier kann ich mir schon denken, dass es an der Verschlüsselungsart liegen könnte - evtl - oder?)
2. Wie kann ich das Passwort dann in der DB prüfen - Linux kann das doch auch?
Vielen Dank für eure Hilfe im voraus!
ich mache mit der Funktion crypt() eine "Passwortverschlüsselung" für eine MySQL-Tabelle.
Das ganze hat den Sinn mit dem Apache-Modul für .htacces über MySQL eben auf diese zuzugreifen.
Das ganze funktioniert auch bestens.
Jetzt möchte ich jedoch das man nach dem Login sein Passwort auch ändern kann - auch das ist kein Problem und läuft schon.
So nun zu meinem Problem.
Ich möchte jetzt, dass wenn man sein Passwort ändert, auch das alte Passwort eingeben muss - damit niemand unberechtigt das Passwort ändert wenn man eingeloggt ist.
Wenn ich das jedoch mache und den für das alte Passwort eigegebenen String mit crypt() umwandle und dann in der MySQL-DB auf übereinstimmung prüfe bekomme ich immer false zurück geliefert. Ich musste dann feststellen, dass wenn der String für das Passwort immer gleich ist das von crypt() zurück gelieferte Ergebnis immer anders ist.
So meine Fragen dazu:
1. Warum ist das Ergbinis eigentlich immer anders (Hier kann ich mir schon denken, dass es an der Verschlüsselungsart liegen könnte - evtl - oder?)
2. Wie kann ich das Passwort dann in der DB prüfen - Linux kann das doch auch?
Vielen Dank für eure Hilfe im voraus!