PASSWORD in Mysql 5.03
Martina1986
- datenbank
0 Jan0 Jan0 Martina19860 Jan
Hi,
ich habe ein kleines Problem:
In einem alten Projekt habe ich einst die Passworte der User mit PASSWORD() in der Tabelle gespeichert.
Jetzt habe ich meine Daten auf einen neuen Server mit neuer MySQL-Version umgezogen. Dort funktioniert die Funktion PASSWORD() mit einem anderen Algorithmus. Ergo können sich die USer nicht mehr einloggen.
Hat jemand ne IDee, wie ich das gerade ziehen könnte?
Ziel wäre: die PWs mit MD5() oder SH1 zu kodieren.
Vielen Dank für den Support!
Tina
Hi,
das selbe Problem hatte ich heute auch,
versuch es mal mit OLD_PASSWORD,
Gruß Jan
Hier moch der Link zur MySQL Referenz:
http://dev.mysql.com/doc/refman/5.0/en/password-hashing.html
Gruß Jan
Hi Jan,
das geht leider auch nicht mehr.
PASSWORD und OLD_PASSWORD liefern bei mir das gleiche Ergebnis.
Viele Grüße
Tina
PASSWORD und OLD_PASSWORD liefern bei mir das gleiche Ergebnis.
Dann sollten sich die User doch einloggen können, wenn bei beiden das gleiche Ergebnis rauskommt...
Gruß Jan
Hi,
Dann sollten sich die User doch einloggen können, wenn bei beiden das gleiche Ergebnis rauskommt...
Ja und nein.
Es kommt auf der neuen Maschine bei beiden Funktionen das gleiche raus (Soll: bei OLD_PASSWORD sollte eigentlich der alte Mechanismus angewandt werden, also auch was anderes rauskommen, tut es aber nicht....)
Alte Maschine:
PASSWORD("Hallo")=> ABCDE
OLD_PASSWORD("Hallo")=> NAIZGROZVLCHSLZ
Neue Maschine:
PASSWORD("HALLO") => 123456
OLD_PASSWORD("HALLO") => 123456
Ergo: "Hallo" ist auf der neuen nicht das gleich wie auf der Alten => Login nicht mehr möglich.
Meine Idee:
Auf der alten Maschine .... WHERE user=XXXX AND (pass=PASSWORD("YYYY") OR pass=MD5("YYYY")), dann alle User auffordern ein neues Passwort einzugeben (mit MD5() abspeichern!!), dann nach einiger Zeit (wenn alle ein neues PW vergeben haben) => PASSWORD() wieder rauslöschen und dann der Umzug auf den neuen Server.
Viele Grüße
Tina