MySQL 4.0.21 zu PostgreSQL 8.0.x - PASSWORD() beim MySQL nach Postgres übertragen

Hallo,

wir stellen gerade einen Webshop von MySQL 4.0.21 auf PostgreSQL 8.0.x um. Nun sind die Kundenkennwörter mit der Funktion “PASSWORD()” innherlab MySQL bei der Registrierung in Hashes gewandelt worden.

Leider bietet PostgreSQL, soweit ich gesehen habe, keine eigene Funktionalität, um die Kennwörter abzugleichen (“SELECT COUNT(*) FROM kunden WHERE kunde = ‘Egon’ AND Kennwort = PASSWORD(‘egonskennwort’)”). Ich komme natürlich auch nicht mehr “plain” an die Kennwörter heran.

Gibt es eine Möglichkeit, diese mit zu übernehmen und auch zu verifizieren, ohne dass sich die Kunden neu registrieren (oder halt ihr Kennwort neu eingeben müssen) müssen?

Vielen Dank,

Morfio …

Nein, die Mysql password() Funktion ist genau das, wie sie heisst: Mysql spezifisch. Btw hat Mysql diese auch im Laufe der Jahre angepasst, da gibts wohl ein altes und ein neues Format.

Du hättest jetzt zwei (drei) Möglichkeiten:

  1. Patche deine Mysql, so das sie dir bei allen Connects die Passwörter im Klartext herausschreibt.
  2. Erweitere PostgreSQL um eine password() Funktion, die du aus Mysql herauskopierst (Achtung, unterschiedliche Lizenzen).
  3. Oder, wie erwähnt, Passwörter neu vergeben.

Hat noch jemand andere Ideen?